kopete/protocols/messenger/libpapillon
connection.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef PAPILLONCONNECTION_H
00016 #define PAPILLONCONNECTION_H
00017
00018 #include <QtCore/QObject>
00019 #include <Papillon/Macros>
00020
00021 namespace Papillon
00022 {
00023
00024 class ClientStream;
00025 class NetworkMessage;
00026 class Task;
00027 class Client;
00036 class PAPILLON_EXPORT Connection : public QObject
00037 {
00038 Q_OBJECT
00039 public:
00045 explicit Connection(ClientStream *stream, QObject *parent = 0);
00049 ~Connection();
00050
00055 Task *rootTask();
00056
00061 int transactionId();
00062
00067 bool isConnected();
00068
00073 Client *client();
00078 void setClient(Client *client);
00079
00080 signals:
00084 void connected();
00088 void disconnected();
00089
00090 public slots:
00096 void connectToServer(const QString &server, quint16 port);
00100 void disconnectFromServer();
00101
00105 void send(NetworkMessage *transfer);
00106
00107 private slots:
00112 void networkMessageReceived();
00118 void dispatchNetworkMessage(NetworkMessage *currentNetworkMessage);
00119
00124 void slotConnected();
00129 void slotDisconnected();
00130
00131 private:
00132 class Private;
00133 Private *d;
00134 };
00135
00136 }
00137
00138 #endif