2 wlmlibmsn.h - Kopete Wlm Protocol
4 Copyright (c) 2008 by Tiago Salem Herrmann <tiagosh@gmail.com>
5 Kopete (c) 2002-2003 by the Kopete developers <kopete-devel@kde.org>
7 *************************************************************************
9 * This library is free software; you can redistribute it and/or *
10 * modify it under the terms of the GNU General Public *
11 * License as published by the Free Software Foundation; either *
12 * version 2 of the License, or (at your option) any later version. *
14 *************************************************************************
21 #include "wlmsocket.h"
22 #include "kopetemessage.h"
29 class Callbacks
:public QObject
,
38 registerSocket (void *s
, int read
, int write
, bool isSSL
);
41 unregisterSocket (void *s
);
44 closeSocket (void *s
);
47 showError (MSN::Connection
* conn
, std::string msg
);
50 buddyChangedStatus (MSN::NotificationServerConnection
* conn
,
51 MSN::Passport buddy
, std::string friendlyname
,
52 MSN::BuddyStatus state
, unsigned int clientID
,
53 std::string msnobject
);
56 buddyOffline (MSN::NotificationServerConnection
* conn
,
60 log (int writing
, const char *buf
);
63 buddyChangedPersonalInfo (MSN::NotificationServerConnection
* conn
,
64 MSN::Passport fromPassport
, MSN::personalInfo
);
67 gotMessageSentACK (MSN::SwitchboardServerConnection
* conn
, int trID
);
70 gotFriendlyName (MSN::NotificationServerConnection
* conn
,
71 std::string friendlyname
);
74 gotBuddyListInfo (MSN::NotificationServerConnection
* conn
,
75 MSN::ListSyncInfo
* data
);
78 gotLatestListSerial (MSN::NotificationServerConnection
* conn
,
79 std::string lastChange
);
82 gotGTC (MSN::NotificationServerConnection
* conn
, char c
);
85 gotBLP (MSN::NotificationServerConnection
* conn
, char c
);
88 gotContactDisplayPicture (MSN::SwitchboardServerConnection
*,
89 MSN::Passport
, std::string
);
92 addedListEntry (MSN::NotificationServerConnection
* conn
,
93 MSN::ContactList list
, MSN::Passport buddy
,
94 std::string friendlyname
);
97 removedListEntry (MSN::NotificationServerConnection
* conn
,
98 MSN::ContactList list
, MSN::Passport buddy
);
101 addedGroup (MSN::NotificationServerConnection
* conn
, bool added
,
102 std::string groupName
, std::string groupID
);
105 removedGroup (MSN::NotificationServerConnection
* conn
, bool removed
,
106 std::string groupID
);
109 renamedGroup (MSN::NotificationServerConnection
* conn
, bool renamed
,
110 std::string newGroupName
, std::string groupID
);
113 addedContactToGroup (MSN::NotificationServerConnection
* conn
, bool added
,
114 std::string groupId
, std::string contactId
);
117 removedContactFromGroup (MSN::NotificationServerConnection
* conn
,
118 bool removed
, std::string groupId
,
119 std::string contactId
);
122 addedContactToAddressBook (MSN::NotificationServerConnection
* conn
,
123 bool added
, std::string passport
,
124 std::string displayName
, std::string guid
);
127 removedContactFromAddressBook (MSN::NotificationServerConnection
* conn
,
128 bool removed
, std::string contactId
,
129 std::string passport
);
132 fileTransferInviteResponse (MSN::SwitchboardServerConnection
* conn
,
133 unsigned int sessionID
, bool response
);
136 enabledContactOnAddressBook (MSN::NotificationServerConnection
* conn
,
137 bool enabled
, std::string contactId
,
138 std::string passport
);
140 disabledContactOnAddressBook (MSN::NotificationServerConnection
* conn
,
141 bool disabled
, std::string contactId
);
144 gotSwitchboard (MSN::SwitchboardServerConnection
* conn
, const void *tag
);
147 buddyJoinedConversation (MSN::SwitchboardServerConnection
* conn
,
148 MSN::Passport buddy
, std::string friendlyname
,
152 buddyLeftConversation (MSN::SwitchboardServerConnection
* conn
,
153 MSN::Passport buddy
);
156 gotInstantMessage (MSN::SwitchboardServerConnection
* conn
,
157 MSN::Passport buddy
, std::string friendlyname
,
161 gotEmoticonNotification (MSN::SwitchboardServerConnection
* conn
,
162 MSN::Passport buddy
, std::string alias
,
163 std::string msnobject
);
166 failedSendingMessage (MSN::Connection
* conn
);
169 buddyTyping (MSN::SwitchboardServerConnection
* conn
, MSN::Passport buddy
,
170 std::string friendlyname
);
173 gotNudge (MSN::SwitchboardServerConnection
* conn
, MSN::Passport from
);
176 gotVoiceClipNotification (MSN::SwitchboardServerConnection
* conn
, MSN::Passport from
,
177 std::string msnobject
);
180 gotWinkNotification (MSN::SwitchboardServerConnection
* conn
, MSN::Passport from
,
181 std::string msnobject
);
184 gotInk (MSN::SwitchboardServerConnection
* conn
, MSN::Passport from
,
188 gotActionMessage (MSN::SwitchboardServerConnection
* conn
,
189 MSN::Passport username
, std::string message
);
192 gotInitialEmailNotification (MSN::NotificationServerConnection
* conn
,
193 int msgs_inbox
, int unread_inbox
,
194 int msgs_folders
, int unread_folders
);
197 gotNewEmailNotification (MSN::NotificationServerConnection
* conn
,
198 std::string from
, std::string subject
);
201 fileTransferProgress (MSN::SwitchboardServerConnection
* conn
,
202 unsigned int sessionID
,
203 long long unsigned transferred
,
204 long long unsigned total
);
207 fileTransferFailed (MSN::SwitchboardServerConnection
* conn
,
208 unsigned int sessionID
, MSN::fileTransferError error
);
211 fileTransferSucceeded (MSN::SwitchboardServerConnection
* conn
,
212 unsigned int sessionID
);
215 gotNewConnection (MSN::Connection
* conn
);
218 gotOIMList (MSN::NotificationServerConnection
* conn
,
219 std::vector
< MSN::eachOIM
> OIMs
);
222 gotOIM (MSN::NotificationServerConnection
* conn
, bool success
,
223 std::string id
, std::string message
);
226 gotOIMSendConfirmation (MSN::NotificationServerConnection
* conn
,
227 bool success
, int id
);
230 gotOIMDeleteConfirmation (MSN::NotificationServerConnection
* conn
,
231 bool success
, std::string id
);
234 closingConnection (MSN::Connection
* conn
);
237 changedStatus (MSN::NotificationServerConnection
* conn
,
238 MSN::BuddyStatus state
);
241 gotVoiceClipFile(MSN::SwitchboardServerConnection
* conn
,
242 unsigned int sessionID
,
246 gotEmoticonFile(MSN::SwitchboardServerConnection
* conn
,
247 unsigned int sessionID
,
251 virtual void gotWinkFile(MSN::SwitchboardServerConnection
* conn
,
252 unsigned int sessionID
,
256 connectToServer (std::string server
, int port
, bool * connected
, bool isSSL
);
258 virtual size_t getDataFromSocket (void *sock
, char *data
, size_t size
);
260 virtual size_t writeDataToSocket (void *sock
, char *data
, size_t size
);
263 connectionReady (MSN::Connection
* conn
);
266 askFileTransfer (MSN::SwitchboardServerConnection
* conn
,
267 MSN::fileTransferInvite ft
);
270 listenOnPort (int port
);
272 int getSocketFileDescriptor (void *sock
);
280 getSecureHTTPProxy ();
283 WlmServer
* m_server
;
284 QList
<WlmSocket
*> socketList
;
285 MSN::NotificationServerConnection
* mainConnection
;
289 messageReceived (MSN::SwitchboardServerConnection
* conn
,
290 const QString
& from
, const Kopete::Message
& message
);
292 joinedConversation (MSN::SwitchboardServerConnection
* conn
,
293 const QString
& user
, const QString
& friendlyname
);
295 leftConversation (MSN::SwitchboardServerConnection
* conn
,
296 const QString
& user
);
298 gotNewSwitchboard (MSN::SwitchboardServerConnection
* conn
,
301 SwitchboardServerConnectionTerminated (MSN::SwitchboardServerConnection
*
304 NotificationServerConnectionTerminated (MSN::NotificationServerConnection
*
307 messageSentACK (MSN::SwitchboardServerConnection
* conn
,
308 const unsigned int &trID
);
310 incomingFileTransfer (MSN::SwitchboardServerConnection
* conn
,
311 const MSN::fileTransferInvite
& ft
);
313 gotFileTransferProgress (MSN::SwitchboardServerConnection
* conn
,
314 const unsigned int &sessionID
,
315 const unsigned long long &transferred
);
317 gotFileTransferFailed (MSN::SwitchboardServerConnection
* conn
,
318 const unsigned int &sessionID
,
319 const MSN::fileTransferError
& error
);
322 gotFileTransferSucceeded (MSN::SwitchboardServerConnection
* conn
,
323 const unsigned int &sessionID
);
326 gotDisplayName (const QString
& displayName
);
329 gotDisplayPicture (const QString
& contact
, const QString
& filename
);
332 gotNewContact (const MSN::ContactList
& list
, const QString
& contact
,
333 const QString
& friendlyname
);
335 void gotRemovedContactFromList (const MSN::ContactList
& list
, const QString
& contact
);
337 void gotAddedGroup (bool added
,
338 const QString
& groupName
,
339 const QString
& groupId
);
341 void gotRemovedGroup (bool removed
,
342 const QString
& groupId
);
345 gotAddedContactToGroup (bool added
,
346 const QString
& groupId
,
347 const QString
& contactId
);
350 gotRemovedContactFromGroup (bool removed
,
351 const QString
& groupId
,
352 const QString
& contactId
);
355 gotAddedContactToAddressBook (bool added
,
356 const QString
& passport
,
357 const QString
& displayName
,
358 const QString
& guid
);
361 gotRemovedContactFromAddressBook (bool removed
,
362 const QString
& passport
,
363 const QString
& contactId
);
366 receivedNudge (MSN::SwitchboardServerConnection
* conn
,
367 const QString
& contactId
);
370 receivedTypingNotification (MSN::SwitchboardServerConnection
* conn
,
371 const QString
& contactId
);
374 gotContactPersonalInfo (const MSN::Passport
& fromPassport
,
375 const MSN::personalInfo
& pInfo
);
378 receivedOIMList (std::vector
< MSN::eachOIM
> &oimlist
);
381 receivedOIM (const QString
& id
, const QString
& message
);
384 deletedOIM (const QString
& id
, const bool & deleted
);
387 contactChangedStatus (const MSN::Passport
& buddy
,
388 const QString
& friendlyname
,
389 const MSN::BuddyStatus
& status
,
390 const unsigned int &clientID
,
391 const QString
& msnobject
);
394 contactDisconnected (const MSN::Passport
& buddy
);
397 connectionCompleted ();
403 changedStatus (MSN::BuddyStatus
& state
);
406 slotfileTransferInviteResponse (MSN::SwitchboardServerConnection
* conn
,
407 const unsigned int &sessionID
,
408 const bool & response
);
410 slotGotEmoticonNotification (MSN::SwitchboardServerConnection
* conn
,
411 const MSN::Passport
& buddy
,
412 const QString
& alias
,
413 const QString
& msnobject
);
416 slotGotVoiceClipNotification (MSN::SwitchboardServerConnection
* conn
,
417 const MSN::Passport
& from
,
418 const QString
& msnobject
);
421 slotGotWinkNotification (MSN::SwitchboardServerConnection
* conn
,
422 const MSN::Passport
& from
,
423 const QString
& msnobject
);
426 slotGotInk (MSN::SwitchboardServerConnection
* conn
,
427 const MSN::Passport
& from
,
428 const QString
& image
);
431 slotGotVoiceClipFile(MSN::SwitchboardServerConnection
* conn
,
432 const unsigned int & sessionID
,
433 const QString
& file
);
436 slotGotEmoticonFile(MSN::SwitchboardServerConnection
* conn
,
437 const unsigned int & sessionID
,
438 const QString
& alias
,
439 const QString
& file
);
442 slotGotWinkFile(MSN::SwitchboardServerConnection
* conn
,
443 const unsigned int & sessionID
,
444 const QString
& file
);