Guest User

Untitled

a guest
Jun 22nd, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.58 KB | None | 0 0
  1. #ifndef CALLBACKS_H
  2. #define CALLBACKS_H
  3.  
  4. #include <QThread>
  5.  
  6. #include <errno.h>
  7. #include <sys/types.h>
  8. #include <sys/socket.h>
  9. #include <unistd.h>
  10. #include <sys/stat.h>
  11. #include <sys/poll.h>
  12. #include <arpa/inet.h>
  13. #include <fcntl.h>
  14. #include <netinet/in.h>
  15. #include <netdb.h>
  16. #include <stdlib.h>
  17. #include <string.h>
  18. #include <openssl/ssl.h>
  19.  
  20. #include <msn/msn.h>
  21. #include <string>
  22. #include <iostream>
  23.  
  24. class Callbacks : public QThread , public MSN::Callbacks
  25. {
  26. Q_OBJECT
  27.  
  28. protected:
  29. void run();
  30.  
  31. private:
  32. struct pollfd mySockets[21];
  33. struct ssl {
  34. bool isSSL;
  35. bool isConnected;
  36. SSL *ssl;
  37. SSL_CTX *ctx;
  38. } mySocketsSsl[21];
  39. void handle_command(MSN::NotificationServerConnection &);
  40. int countsocks(void);
  41. std::string myFriendlyName;
  42. std::string myUsername;
  43. MSN::Passport uname;
  44. char *pass;
  45.  
  46. public:
  47. virtual void registerSocket(void *s, int read, int write, bool isSSL);
  48. virtual void unregisterSocket(void *s);
  49. virtual void closeSocket(void *s);
  50. virtual void showError(MSN::Connection * conn, std::string msg);
  51. virtual void buddyChangedStatus(MSN::NotificationServerConnection * conn, MSN::Passport buddy, std::string friendlyname, MSN::BuddyStatus state, unsigned int clientID, std::string msnobject);
  52. virtual void buddyOffline(MSN::NotificationServerConnection * conn, MSN::Passport buddy);
  53. virtual void log(int writing, const char* buf);
  54. virtual void buddyChangedPersonalInfo(MSN::NotificationServerConnection * conn, MSN::Passport fromPassport, MSN::personalInfo);
  55. virtual void gotFriendlyName(MSN::NotificationServerConnection * conn, std::string friendlyname);
  56. virtual void gotBuddyListInfo(MSN::NotificationServerConnection * conn, MSN::ListSyncInfo * data);
  57. virtual void gotLatestListSerial(MSN::NotificationServerConnection * conn, std::string lastChange);
  58. virtual void gotGTC(MSN::NotificationServerConnection * conn, char c);
  59. virtual void gotBLP(MSN::NotificationServerConnection * conn, char c);
  60. virtual void addedListEntry(MSN::NotificationServerConnection * conn, MSN::ContactList list, MSN::Passport buddy, std::string friendlyname);
  61. virtual void removedListEntry(MSN::NotificationServerConnection * conn, MSN::ContactList list, MSN::Passport buddy);
  62. virtual void addedGroup(MSN::NotificationServerConnection * conn, bool added, std::string groupName, std::string groupID);
  63. virtual void removedGroup(MSN::NotificationServerConnection * conn, bool removed, std::string groupID);
  64. virtual void renamedGroup(MSN::NotificationServerConnection * conn, bool renamed, std::string newGroupName, std::string groupID);
  65. virtual void addedContactToGroup(MSN::NotificationServerConnection * conn, bool added, std::string groupId, std::string contactId);
  66. virtual void removedContactFromGroup(MSN::NotificationServerConnection * conn, bool removed, std::string groupId, std::string contactId);
  67. virtual void addedContactToAddressBook(MSN::NotificationServerConnection * conn, bool added, std::string passport, std::string displayName, std::string guid);
  68. virtual void removedContactFromAddressBook(MSN::NotificationServerConnection * conn, bool removed, std::string contactId, std::string passport);
  69. virtual void enabledContactOnAddressBook(MSN::NotificationServerConnection * conn, bool enabled, std::string contactId, std::string passport);
  70. virtual void disabledContactOnAddressBook(MSN::NotificationServerConnection * conn, bool disabled, std::string contactId);
  71. virtual void gotSwitchboard(MSN::SwitchboardServerConnection * conn, const void * tag);
  72. virtual void buddyJoinedConversation(MSN::SwitchboardServerConnection * conn, MSN::Passport buddy, std::string friendlyname, int is_initial);
  73. virtual void buddyLeftConversation(MSN::SwitchboardServerConnection * conn, MSN::Passport buddy);
  74. virtual void gotInstantMessage(MSN::SwitchboardServerConnection * conn, MSN::Passport buddy, std::string friendlyname, MSN::Message * msg);
  75. virtual void gotMessageSentACK(MSN::SwitchboardServerConnection * conn, int trID);
  76. virtual void gotEmoticonNotification(MSN::SwitchboardServerConnection * conn, MSN::Passport buddy, std::string alias, std::string msnobject);
  77. virtual void failedSendingMessage(MSN::Connection * conn);
  78. virtual void buddyTyping(MSN::SwitchboardServerConnection * conn, MSN::Passport buddy, std::string friendlyname);
  79. virtual void gotNudge(MSN::SwitchboardServerConnection * conn, MSN::Passport from);
  80. virtual void gotVoiceClipNotification(MSN::SwitchboardServerConnection * conn, MSN::Passport from, std::string msnobject);
  81. virtual void gotWinkNotification(MSN::SwitchboardServerConnection * conn, MSN::Passport from, std::string msnobject);
  82. virtual void gotInk(MSN::SwitchboardServerConnection * conn, MSN::Passport from, std::string image);
  83. virtual void gotVoiceClipFile(MSN::SwitchboardServerConnection * conn, unsigned int sessionID, std::string file);
  84. virtual void gotEmoticonFile(MSN::SwitchboardServerConnection * conn, unsigned int sessionID, std::string alias, std::string file);
  85. virtual void gotWinkFile(MSN::SwitchboardServerConnection * conn, unsigned int sessionID, std::string file);
  86. virtual void gotActionMessage(MSN::SwitchboardServerConnection * conn, MSN::Passport username, std::string message);
  87. virtual void gotInitialEmailNotification(MSN::NotificationServerConnection * conn, int msgs_inbox, int unread_inbox, int msgs_folders, int unread_folders);
  88. virtual void gotNewEmailNotification(MSN::NotificationServerConnection * conn, std::string from, std::string subject);
  89. virtual void fileTransferProgress(MSN::SwitchboardServerConnection * conn, unsigned int sessionID, long long unsigned transferred, long long unsigned total);
  90. virtual void fileTransferFailed(MSN::SwitchboardServerConnection * conn, unsigned int sessionID, MSN::fileTransferError error);
  91. virtual void fileTransferSucceeded(MSN::SwitchboardServerConnection * conn, unsigned int sessionID);
  92. virtual void fileTransferInviteResponse(MSN::SwitchboardServerConnection * conn, unsigned int sessionID, bool response);
  93. virtual void gotNewConnection(MSN::Connection * conn);
  94. virtual void gotOIMList(MSN::NotificationServerConnection * conn, std::vector<MSN::eachOIM> OIMs);
  95. virtual void gotOIM(MSN::NotificationServerConnection * conn, bool success, std::string id, std::string message);
  96. virtual void gotOIMSendConfirmation(MSN::NotificationServerConnection * conn, bool success, int id);
  97. virtual void gotOIMDeleteConfirmation(MSN::NotificationServerConnection * conn, bool success, std::string id);
  98. virtual void gotContactDisplayPicture(MSN::SwitchboardServerConnection * conn, MSN::Passport passport, std::string filename);
  99. virtual void closingConnection(MSN::Connection * conn);
  100. virtual void changedStatus(MSN::NotificationServerConnection * conn, MSN::BuddyStatus state);
  101. virtual void * connectToServer(std::string server, int port, bool *connected, bool isSSL);
  102. virtual void connectionReady(MSN::Connection * conn);
  103. virtual void askFileTransfer(MSN::SwitchboardServerConnection *conn, MSN::fileTransferInvite ft);
  104. virtual int listenOnPort(int port);
  105. virtual std::string getOurIP();
  106. virtual int getSocketFileDescriptor (void *sock);
  107. virtual size_t getDataFromSocket (void *sock, char *data, size_t size);
  108. virtual size_t writeDataToSocket (void *sock, char *data, size_t size);
  109. virtual std::string getSecureHTTPProxy();
  110. virtual void gotInboxUrl (MSN::NotificationServerConnection *conn, MSN::hotmailInfo info);
  111. };
  112.  
  113. #endif // CALLBACKS_H
Add Comment
Please, Sign In to add comment