kopete/protocols/messenger/libpapillon
papillonclientstream.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef PAPILLONCLIENTSTREAM_H
00016 #define PAPILLONCLIENTSTREAM_H
00017
00018 #include <Papillon/Base/Stream>
00019 #include <Papillon/Macros>
00020
00021 namespace Papillon
00022 {
00023
00024 class Connector;
00025 class NetworkMessage;
00026
00033 class PAPILLON_EXPORT ClientStream : public Stream
00034 {
00035 Q_OBJECT
00036 public:
00037 explicit ClientStream(Connector *connector, QObject *parent = 0);
00038 ~ClientStream();
00039
00040 void connectToServer(const QString &server, quint16 port);
00041
00042 virtual void close();
00043 virtual int errorCondition() const;
00044 virtual QString errorText() const;
00045
00046 virtual bool networkMessagesAvailable() const;
00047
00048 virtual NetworkMessage *read();
00049 virtual void write(NetworkMessage *networkMessage);
00050
00051 void reset(bool all);
00052
00053 signals:
00054 void connected();
00055
00056 private slots:
00057 void slotConnectorConnected();
00058
00059 void slotProtocolOutgoingData(const QByteArray &data);
00060 void slotProtocolIncomingData();
00061
00062 void slotByteStreamConnectionClosed();
00063 void slotByteStreamReadyRead();
00064 void slotByteStreamBytesWritten(int bytes);
00065
00066 private:
00067 class Private;
00068 Private *d;
00069 };
00070
00071 }
00072
00073 #endif // PAPILLONCLIENTSTREAM_H