Port things from MSN to WLM plugin:
[kdenetwork.git] / kopete / protocols / wlm / wlmlibmsn.h
blob02b8732a4b72e0cf7d5d4a71cb7477afddeb7c2a
1 /*
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 *************************************************************************
8 * *
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. *
13 * *
14 *************************************************************************
17 #ifndef WLMLIBMSN_H
18 #define WLMLIBMSN_H
20 #include <QObject>
21 #include "wlmsocket.h"
22 #include "kopetemessage.h"
24 #include <msn/msn.h>
26 class WlmAccount;
27 class WlmServer;
29 class Callbacks:public QObject,
30 public
31 MSN::Callbacks
33 Q_OBJECT
34 std::string
35 myFriendlyName;
37 virtual void
38 registerSocket (void *s, int read, int write, bool isSSL);
40 virtual void
41 unregisterSocket (void *s);
43 virtual void
44 closeSocket (void *s);
46 virtual void
47 showError (MSN::Connection * conn, std::string msg);
49 virtual void
50 buddyChangedStatus (MSN::NotificationServerConnection * conn,
51 MSN::Passport buddy, std::string friendlyname,
52 MSN::BuddyStatus state, unsigned int clientID,
53 std::string msnobject);
55 virtual void
56 buddyOffline (MSN::NotificationServerConnection * conn,
57 MSN::Passport buddy);
59 virtual void
60 log (int writing, const char *buf);
62 virtual void
63 buddyChangedPersonalInfo (MSN::NotificationServerConnection * conn,
64 MSN::Passport fromPassport, MSN::personalInfo);
66 virtual void
67 gotMessageSentACK (MSN::SwitchboardServerConnection * conn, int trID);
69 virtual void
70 gotFriendlyName (MSN::NotificationServerConnection * conn,
71 std::string friendlyname);
73 virtual void
74 gotBuddyListInfo (MSN::NotificationServerConnection * conn,
75 MSN::ListSyncInfo * data);
77 virtual void
78 gotLatestListSerial (MSN::NotificationServerConnection * conn,
79 std::string lastChange);
81 virtual void
82 gotGTC (MSN::NotificationServerConnection * conn, char c);
84 virtual void
85 gotBLP (MSN::NotificationServerConnection * conn, char c);
87 virtual void
88 gotContactDisplayPicture (MSN::SwitchboardServerConnection *,
89 MSN::Passport, std::string);
91 virtual void
92 addedListEntry (MSN::NotificationServerConnection * conn,
93 MSN::ContactList list, MSN::Passport buddy,
94 std::string friendlyname);
96 virtual void
97 removedListEntry (MSN::NotificationServerConnection * conn,
98 MSN::ContactList list, MSN::Passport buddy);
100 virtual void
101 addedGroup (MSN::NotificationServerConnection * conn, bool added,
102 std::string groupName, std::string groupID);
104 virtual void
105 removedGroup (MSN::NotificationServerConnection * conn, bool removed,
106 std::string groupID);
108 virtual void
109 renamedGroup (MSN::NotificationServerConnection * conn, bool renamed,
110 std::string newGroupName, std::string groupID);
112 virtual void
113 addedContactToGroup (MSN::NotificationServerConnection * conn, bool added,
114 std::string groupId, std::string contactId);
116 virtual void
117 removedContactFromGroup (MSN::NotificationServerConnection * conn,
118 bool removed, std::string groupId,
119 std::string contactId);
121 virtual void
122 addedContactToAddressBook (MSN::NotificationServerConnection * conn,
123 bool added, std::string passport,
124 std::string displayName, std::string guid);
126 virtual void
127 removedContactFromAddressBook (MSN::NotificationServerConnection * conn,
128 bool removed, std::string contactId,
129 std::string passport);
131 virtual void
132 fileTransferInviteResponse (MSN::SwitchboardServerConnection * conn,
133 unsigned int sessionID, bool response);
135 virtual void
136 enabledContactOnAddressBook (MSN::NotificationServerConnection * conn,
137 bool enabled, std::string contactId,
138 std::string passport);
139 virtual void
140 disabledContactOnAddressBook (MSN::NotificationServerConnection * conn,
141 bool disabled, std::string contactId);
143 virtual void
144 gotSwitchboard (MSN::SwitchboardServerConnection * conn, const void *tag);
146 virtual void
147 buddyJoinedConversation (MSN::SwitchboardServerConnection * conn,
148 MSN::Passport buddy, std::string friendlyname,
149 int is_initial);
151 virtual void
152 buddyLeftConversation (MSN::SwitchboardServerConnection * conn,
153 MSN::Passport buddy);
155 virtual void
156 gotInstantMessage (MSN::SwitchboardServerConnection * conn,
157 MSN::Passport buddy, std::string friendlyname,
158 MSN::Message * msg);
160 virtual void
161 gotEmoticonNotification (MSN::SwitchboardServerConnection * conn,
162 MSN::Passport buddy, std::string alias,
163 std::string msnobject);
165 virtual void
166 failedSendingMessage (MSN::Connection * conn);
168 virtual void
169 buddyTyping (MSN::SwitchboardServerConnection * conn, MSN::Passport buddy,
170 std::string friendlyname);
172 virtual void
173 gotNudge (MSN::SwitchboardServerConnection * conn, MSN::Passport from);
175 virtual void
176 gotVoiceClipNotification (MSN::SwitchboardServerConnection * conn, MSN::Passport from,
177 std::string msnobject);
179 virtual void
180 gotWinkNotification (MSN::SwitchboardServerConnection * conn, MSN::Passport from,
181 std::string msnobject);
183 virtual void
184 gotInk (MSN::SwitchboardServerConnection * conn, MSN::Passport from,
185 std::string image);
187 virtual void
188 gotActionMessage (MSN::SwitchboardServerConnection * conn,
189 MSN::Passport username, std::string message);
191 virtual void
192 gotInitialEmailNotification (MSN::NotificationServerConnection * conn,
193 int msgs_inbox, int unread_inbox,
194 int msgs_folders, int unread_folders);
196 virtual void
197 gotNewEmailNotification (MSN::NotificationServerConnection * conn,
198 std::string from, std::string subject);
200 virtual void
201 fileTransferProgress (MSN::SwitchboardServerConnection * conn,
202 unsigned int sessionID,
203 long long unsigned transferred,
204 long long unsigned total);
206 virtual void
207 fileTransferFailed (MSN::SwitchboardServerConnection * conn,
208 unsigned int sessionID, MSN::fileTransferError error);
210 virtual void
211 fileTransferSucceeded (MSN::SwitchboardServerConnection * conn,
212 unsigned int sessionID);
214 virtual void
215 gotNewConnection (MSN::Connection * conn);
217 virtual void
218 gotOIMList (MSN::NotificationServerConnection * conn,
219 std::vector < MSN::eachOIM > OIMs);
221 virtual void
222 gotOIM (MSN::NotificationServerConnection * conn, bool success,
223 std::string id, std::string message);
225 virtual void
226 gotOIMSendConfirmation (MSN::NotificationServerConnection * conn,
227 bool success, int id);
229 virtual void
230 gotOIMDeleteConfirmation (MSN::NotificationServerConnection * conn,
231 bool success, std::string id);
233 virtual void
234 closingConnection (MSN::Connection * conn);
236 virtual void
237 changedStatus (MSN::NotificationServerConnection * conn,
238 MSN::BuddyStatus state);
240 virtual void
241 gotVoiceClipFile(MSN::SwitchboardServerConnection * conn,
242 unsigned int sessionID,
243 std::string file);
245 virtual void
246 gotEmoticonFile(MSN::SwitchboardServerConnection * conn,
247 unsigned int sessionID,
248 std::string alias,
249 std::string file);
251 virtual void gotWinkFile(MSN::SwitchboardServerConnection * conn,
252 unsigned int sessionID,
253 std::string file);
255 virtual void *
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);
262 virtual void
263 connectionReady (MSN::Connection * conn);
265 virtual void
266 askFileTransfer (MSN::SwitchboardServerConnection * conn,
267 MSN::fileTransferInvite ft);
269 virtual int
270 listenOnPort (int port);
272 int getSocketFileDescriptor (void *sock);
274 virtual
275 std::string
276 getOurIP ();
278 virtual
279 std::string
280 getSecureHTTPProxy ();
282 public:
283 WlmServer * m_server;
284 QList <WlmSocket*> socketList;
285 MSN::NotificationServerConnection * mainConnection;
287 signals:
288 void
289 messageReceived (MSN::SwitchboardServerConnection * conn,
290 const QString & from, const Kopete::Message & message);
291 void
292 joinedConversation (MSN::SwitchboardServerConnection * conn,
293 const QString & user, const QString & friendlyname);
294 void
295 leftConversation (MSN::SwitchboardServerConnection * conn,
296 const QString & user);
297 void
298 gotNewSwitchboard (MSN::SwitchboardServerConnection * conn,
299 const void *tag);
300 void
301 SwitchboardServerConnectionTerminated (MSN::SwitchboardServerConnection *
302 conn);
303 void
304 NotificationServerConnectionTerminated (MSN::NotificationServerConnection *
305 conn);
306 void
307 messageSentACK (MSN::SwitchboardServerConnection * conn,
308 const unsigned int &trID);
309 void
310 incomingFileTransfer (MSN::SwitchboardServerConnection * conn,
311 const MSN::fileTransferInvite & ft);
312 void
313 gotFileTransferProgress (MSN::SwitchboardServerConnection * conn,
314 const unsigned int &sessionID,
315 const unsigned long long &transferred);
316 void
317 gotFileTransferFailed (MSN::SwitchboardServerConnection * conn,
318 const unsigned int &sessionID,
319 const MSN::fileTransferError & error);
321 void
322 gotFileTransferSucceeded (MSN::SwitchboardServerConnection * conn,
323 const unsigned int &sessionID);
325 void
326 gotDisplayName (const QString & displayName);
328 void
329 gotDisplayPicture (const QString & contact, const QString & filename);
331 void
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);
344 void
345 gotAddedContactToGroup (bool added,
346 const QString & groupId,
347 const QString & contactId);
349 void
350 gotRemovedContactFromGroup (bool removed,
351 const QString & groupId,
352 const QString & contactId);
354 void
355 gotAddedContactToAddressBook (bool added,
356 const QString & passport,
357 const QString & displayName,
358 const QString & guid);
360 void
361 gotRemovedContactFromAddressBook (bool removed,
362 const QString & passport,
363 const QString & contactId);
365 void
366 receivedNudge (MSN::SwitchboardServerConnection * conn,
367 const QString & contactId);
369 void
370 receivedTypingNotification (MSN::SwitchboardServerConnection * conn,
371 const QString & contactId);
373 void
374 gotContactPersonalInfo (const MSN::Passport & fromPassport,
375 const MSN::personalInfo & pInfo);
377 void
378 receivedOIMList (std::vector < MSN::eachOIM > &oimlist);
380 void
381 receivedOIM (const QString & id, const QString & message);
383 void
384 deletedOIM (const QString & id, const bool & deleted);
386 void
387 contactChangedStatus (const MSN::Passport & buddy,
388 const QString & friendlyname,
389 const MSN::BuddyStatus & status,
390 const unsigned int &clientID,
391 const QString & msnobject);
393 void
394 contactDisconnected (const MSN::Passport & buddy);
396 void
397 connectionCompleted ();
399 void
400 connectionFailed ();
402 void
403 changedStatus (MSN::BuddyStatus & state);
405 void
406 slotfileTransferInviteResponse (MSN::SwitchboardServerConnection * conn,
407 const unsigned int &sessionID,
408 const bool & response);
409 void
410 slotGotEmoticonNotification (MSN::SwitchboardServerConnection * conn,
411 const MSN::Passport & buddy,
412 const QString & alias,
413 const QString & msnobject);
415 void
416 slotGotVoiceClipNotification (MSN::SwitchboardServerConnection * conn,
417 const MSN::Passport & from,
418 const QString & msnobject);
420 void
421 slotGotWinkNotification (MSN::SwitchboardServerConnection * conn,
422 const MSN::Passport & from,
423 const QString & msnobject);
425 void
426 slotGotInk (MSN::SwitchboardServerConnection * conn,
427 const MSN::Passport & from,
428 const QString & image);
430 void
431 slotGotVoiceClipFile(MSN::SwitchboardServerConnection * conn,
432 const unsigned int & sessionID,
433 const QString & file);
435 void
436 slotGotEmoticonFile(MSN::SwitchboardServerConnection * conn,
437 const unsigned int & sessionID,
438 const QString & alias,
439 const QString & file);
441 void
442 slotGotWinkFile(MSN::SwitchboardServerConnection * conn,
443 const unsigned int & sessionID,
444 const QString & file);
446 void
447 wrongPassword ();
450 #endif