added overload for subscribe that includes a zone filter. it is unimplemented in...
[profile/ivi/automotive-message-broker.git] / plugins / bluemonkey / irccoms.h
1 #ifndef COMMUNICATION_H
2 #define COMMUNICATION_H
3 #include <QObject>
4 #include <QVariant>
5 #include <QStringList>
6 #include <map>
7
8 #include <IrcSession>
9 #include <IrcMessage>
10
11 class IrcCommunication: public QObject
12 {
13         Q_OBJECT
14         Q_PROPERTY(QStringList channels READ channels WRITE setChannels)
15         Q_PROPERTY(bool ssl WRITE setSsl)
16 public:
17         IrcCommunication(std::map<std::string, std::string> config, QObject* parent=0);
18         QStringList channels() { return mChannels; }
19         void setChannels(QStringList c) { mChannels = c; }
20
21 public Q_SLOTS:
22         void respond(QString target, QString msg);
23         void announce(QString);
24         void connect(QString host,int port, QString proxy, QString user, QString nick, QString pass);
25         void setSsl(bool use);
26         void setIgnoreInvalidCert(bool ignore);
27         void join(QString channel);
28
29         void reconnect();
30
31 private Q_SLOTS:
32         void messageReceived(IrcMessage*);
33 //      void sslError(QList<QSslError>);
34         void socketError(QAbstractSocket::SocketError);
35
36 Q_SIGNALS:
37         void message(QString sender, QString prefix, QString codes);
38         void connecting();
39         void connected();
40         void disconnected();
41
42 private:
43         bool mSsl;
44         QStringList mChannels;
45         IrcSession *session;
46 };
47
48 #endif // COMMUNICATION_H