00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef IRC_SESSION_P_H
00016 #define IRC_SESSION_P_H
00017
00018 #include <QHash>
00019 #include <QTimer>
00020 #include <QStringList>
00021 #include <QVariantList>
00022 #include <QAbstractSocket>
00023 #include "ircbuffer.h"
00024
00025 namespace Irc
00026 {
00027 class SessionPrivate
00028 {
00029 Q_DECLARE_PUBLIC(Session)
00030
00031 public:
00032 SessionPrivate();
00033
00034 void init(Session* session);
00035
00036 void _q_connected();
00037 void _q_disconnected();
00038 void _q_reconnect();
00039 void _q_error();
00040 void _q_state(QAbstractSocket::SocketState state);
00041 void _q_readData();
00042
00043 QString readString(const QByteArray& data) const;
00044 void readLines(const QByteArray& delimiter);
00045 void processLine(const QByteArray& line);
00046 Irc::Buffer::MessageFlags getMessageFlags(QString& message) const;
00047 bool isConnected() const;
00048 QString resolveTarget(const QString& sender, const QString& receiver) const;
00049
00050 Buffer* createBuffer(const QString& receiver);
00051 void removeBuffer(Buffer* buffer);
00052
00053 Session* q_ptr;
00054 QByteArray buffer;
00055 Session::Options options;
00056 QAbstractSocket* socket;
00057 QString ident;
00058 QString password;
00059 QString nick;
00060 QString realName;
00061 QString host;
00062 quint16 port;
00063 QString motd;
00064 QStringList channels;
00065 QByteArray encoding;
00066 int delay;
00067 QTimer timer;
00068 Buffer* defaultBuffer;
00069 QHash<QString, Buffer*> buffers;
00070 bool welcomed;
00071
00072
00073 QStringList capabilities;
00074
00075 QStringList enabledCapabilities;
00076
00077 QStringList wantedCapabilities;
00078
00079 QStringList tempCapabilities;
00080
00081 bool capabilitiesSupported;
00082
00083 #ifndef IRC_NO_DEPRECATED
00084
00085 void emitCompatSignal(const char* signal, const QVariantList& params);
00086 void _q_joined(const QString& origin);
00087 void _q_parted(const QString& origin, const QString& message);
00088 void _q_quit(const QString& origin, const QString& message);
00089 void _q_nickChanged(const QString& origin, const QString& nick);
00090 void _q_modeChanged(const QString& origin, const QString& mode, const QString& args);
00091 void _q_topicChanged(const QString& origin, const QString& topic);
00092 void _q_invited(const QString& origin, const QString& receiver, const QString& channel);
00093 void _q_kicked(const QString& origin, const QString& nick, const QString& message);
00094 void _q_messageReceived(const QString& origin, const QString& message);
00095 void _q_noticeReceived(const QString& origin, const QString& notice);
00096 void _q_ctcpRequestReceived(const QString& origin, const QString& request);
00097 void _q_ctcpReplyReceived(const QString& origin, const QString& reply);
00098 void _q_ctcpActionReceived(const QString& origin, const QString& action);
00099 void _q_numericMessageReceived(const QString& origin, uint code, const QStringList& params);
00100 void _q_unknownMessageReceived(const QString& origin, const QStringList& params);
00101 #endif // IRC_NO_DEPRECATED
00102 };
00103 }
00104
00105 #endif // IRC_BUFFER_P_H