Guest User

Untitled

a guest
Jul 21st, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.45 KB | None | 0 0
  1. #include <exception>
  2. #include <stdexcept>
  3.  
  4. #ifdef __unix__
  5. #include "UnixSocket.h"
  6. #elif __WIN32__ || _MSC_VER
  7. #include "WinSocket.h"
  8. #endif
  9.  
  10. #include "HTTPParser.h"
  11.  
  12. int main(void) {
  13. try {
  14. socket->socketInit(PORT);
  15. }
  16. catch (exception &e) {
  17. cout << endl << "Exception: " << e.what() << endl;
  18. socket->cleanAll();
  19. }
  20. return 0
  21. }
  22.  
  23. class NetInterface : public exception {
  24.  
  25. private:
  26.  
  27. public:
  28. virtual void socketInit(const char *port) = 0;
  29. virtual void cleanAll(void) = 0;
  30. virtual void cleanPersCon(void) = 0;
  31. virtual char *akzeptieren(void) = 0;
  32. virtual void empfangen(void) = 0;
  33. virtual void senden(void) = 0;
  34. virtual void *get_in_addr(struct sockaddr *sa) = 0;
  35. virtual string getIncoming(void) = 0;
  36. virtual void setOutcoming(string s) = 0;
  37.  
  38. virtual ~NetInterface() throw() {};
  39.  
  40. class UnixSocket : virtual public NetInterface {
  41. private:
  42. [...]
  43. public:
  44. UnixSocket(void);
  45. //kill socket connections
  46. void cleanAll(void);
  47. void cleanPersCon(void);
  48. //SysCalls
  49. void socketInit(const char *port);
  50. char *akzeptieren(void);
  51. void empfangen(void);
  52. void senden(void);
  53. //Getter and Setter
  54. string getIncoming(void);
  55. void setOutcoming(string s);
  56.  
  57. virtual ~UnixSocket() throw() {};
  58. };
  59.  
  60. class HTTPParser : public exception {
  61. private:
  62. [...]
  63.  
  64. public:
  65. HTTPParser(NetInterface *_socket, string _path);
  66. void parsePacket(void);
  67.  
  68. virtual ~HTTPParser() throw() {};
  69. };
  70.  
  71. /tmp/cc8DNmKI.o:(.rodata._ZTV10HTTPParser[vtable for HTTPParser]+0x10): undefined reference to `std::exception::what() const'
  72. /tmp/cc8DNmKI.o:(.rodata._ZTV10UnixSocket[vtable for UnixSocket]+0x14): undefined reference to `std::exception::what() const'
  73. /tmp/cc8DNmKI.o:(.rodata._ZTV10UnixSocket[vtable for UnixSocket]+0x78): undefined reference to `std::exception::what() const'
  74. /tmp/cc8DNmKI.o:(.rodata._ZTV12NetInterface[vtable for NetInterface]+0x10): undefined reference to `std::exception::what() const'
  75. /tmp/cc8DNmKI.o:(.rodata._ZTV12NetInterface[vtable for NetInterface]+0x14): undefined reference to `__cxa_pure_virtual'
  76. /tmp/cc8DNmKI.o:(.rodata._ZTV12NetInterface[vtable for NetInterface]+0x18): undefined reference to `__cxa_pure_virtual'
  77. /tmp/cc8DNmKI.o:(.rodata._ZTV12NetInterface[vtable for NetInterface]+0x1c): undefined reference to `__cxa_pure_virtual'
  78. /tmp/cc8DNmKI.o:(.rodata._ZTV12NetInterface[vtable for NetInterface]+0x20): undefined reference to `__cxa_pure_virtual'
  79. /tmp/cc8DNmKI.o:(.rodata._ZTV12NetInterface[vtable for NetInterface]+0x24): undefined reference to `__cxa_pure_virtual'
  80. /tmp/cc8DNmKI.o:(.rodata._ZTV12NetInterface[vtable for NetInterface]+0x28): more undefined references to `__cxa_pure_virtual' follow
  81. /tmp/cc8DNmKI.o:(.rodata._ZTVSt16invalid_argument[vtable for std::invalid_argument]+0x10): undefined reference to `std::logic_error::what() const'
  82. /tmp/cc8DNmKI.o:(.rodata._ZTVSt12domain_error[vtable for std::domain_error]+0x10): undefined reference to `std::logic_error::what() const'
  83. /tmp/cc8DNmKI.o:(.rodata._ZTI10HTTPParser[typeinfo for HTTPParser]+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info'
  84. /tmp/cc8DNmKI.o:(.rodata._ZTI10HTTPParser[typeinfo for HTTPParser]+0x8): undefined reference to `typeinfo for std::exception'
  85. /tmp/cc8DNmKI.o:(.rodata._ZTI10UnixSocket[typeinfo for UnixSocket]+0x0): undefined reference to `vtable for __cxxabiv1::__vmi_class_type_info'
  86. /tmp/cc8DNmKI.o:(.rodata._ZTI10UnixSocket[typeinfo for UnixSocket]+0x18): undefined reference to `typeinfo for std::exception'
  87. /tmp/cc8DNmKI.o:(.rodata._ZTI12NetInterface[typeinfo for NetInterface]+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info'
  88. /tmp/cc8DNmKI.o:(.rodata._ZTI12NetInterface[typeinfo for NetInterface]+0x8): undefined reference to `typeinfo for std::exception'
  89. /tmp/cc8DNmKI.o:(.rodata._ZTISt16invalid_argument[typeinfo for std::invalid_argument]+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info'
  90. /tmp/cc8DNmKI.o:(.rodata._ZTISt16invalid_argument[typeinfo for std::invalid_argument]+0x8): undefined reference to `typeinfo for std::logic_error'
  91. /tmp/cc8DNmKI.o:(.rodata._ZTISt12domain_error[typeinfo for std::domain_error]+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info'
  92. /tmp/cc8DNmKI.o:(.rodata._ZTISt12domain_error[typeinfo for std::domain_error]+0x8): undefined reference to `typeinfo for std::logic_error'
  93. /tmp/cc8DNmKI.o:(.eh_frame+0xeb): undefined reference to `__gxx_personality_v0'
  94. collect2: ld returned 1 exit status
Add Comment
Please, Sign In to add comment