1 /*
2   smsprotocol.h  -  SMS Plugin Protocol
3 
4   Copyright (c) 2003      by Richard Lärkäng        <nouseforaname@home.se>
5   Copyright (c) 2003      by Gav Wood               <gav@kde.org>
6 
7   *************************************************************************
8   *                                                                       *
9   * This program is free software; you can redistribute it and/or modify  *
10   * it under the terms of the GNU General Public License as published by  *
11   * the Free Software Foundation; either version 2 of the License, or     *
12   * (at your option) any later version.                                   *
13   *                                                                       *
14   *************************************************************************
15 */
16 
17 #ifndef SMSPROTOCOL_H
18 #define SMSPROTOCOL_H
19 
20 #include <qmap.h>
21 #include <qmovie.h>
22 #include <qpixmap.h>
23 #include <q3ptrdict.h>
24 #include <qstringlist.h>
25 
26 #include "kopeteprotocol.h"
27 #include "kopeteonlinestatus.h"
28 #include "kopetecontact.h"
29 
30 
31 namespace Kopete {
32 class Contact;
33 }
34 namespace Kopete {
35 class MetaContact;
36 }
37 namespace Kopete {
38 }
39 namespace Kopete {
40 }
41 
42 class SMSProtocol : public Kopete::Protocol
43 {
44     Q_OBJECT
45 
46 public:
47     SMSProtocol(QObject *parent, const QVariantList &args);
48     ~SMSProtocol();
49 
50     static SMSProtocol *protocol();
51 
52     /**
53      * Deserialize contact data
54      */
55     virtual Kopete::Contact *deserializeContact(Kopete::MetaContact *metaContact, const QMap<QString, QString> &serializedData, const QMap<QString, QString> &addressBookData);
56 
57     virtual AddContactPage *createAddContactWidget(QWidget *parent, Kopete::Account *i);
58     virtual KopeteEditAccountWidget *createEditAccountWidget(Kopete::Account *account, QWidget *parent);
59     virtual Kopete::Account *createNewAccount(const QString &accountId);
60 
61     const Kopete::OnlineStatus SMSOnline;
62     const Kopete::OnlineStatus SMSOffline;
63     const Kopete::OnlineStatus SMSConnecting;
64 
65 private:
66     static SMSProtocol *s_protocol;
67 };
68 
69 #endif
70