X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fnetworkconnection.h;h=745afc7761a05454f62abb94cfd48223de7c3aec;hp=59f40c61dd26f142e25ddd7999d7a61a7d7300be;hb=723db5bff304ad3fdf5a0609198c65a66bfbaea7;hpb=59912f14782c193a2394a2b0d044902a59c96870 diff --git a/src/core/networkconnection.h b/src/core/networkconnection.h index 59f40c61..745afc77 100644 --- a/src/core/networkconnection.h +++ b/src/core/networkconnection.h @@ -27,7 +27,9 @@ #include #include +#include "identity.h" #include "message.h" +#include "network.h" #include "signalproxy.h" class CoreSession; @@ -47,9 +49,11 @@ public: NetworkId networkId() const; QString networkName() const; Network *network() const; + Identity *identity() const; CoreSession *coreSession() const; bool isConnected() const; + Network::ConnectionState connectionState() const; IrcServerHandler *ircServerHandler() const; UserInputHandler *userInputHandler() const; @@ -61,29 +65,29 @@ public: //! Decode a string using the server (network) decoding. QString serverDecode(const QByteArray &string) const; - //! Decode a string using a buffer-specific encoding if one is set (and use the server encoding else). - QString bufferDecode(const QString &bufferName, const QByteArray &string) const; + //! Decode a string using a channel-specific encoding if one is set (and use the standard encoding else). + QString channelDecode(const QString &channelName, const QByteArray &string) const; - //! Decode a string using a IrcUser specific encoding, if one exists (using the server encoding else). + //! Decode a string using an IrcUser-specific encoding, if one exists (using the standaed encoding else). QString userDecode(const QString &userNick, const QByteArray &string) const; //! Encode a string using the server (network) encoding. QByteArray serverEncode(const QString &string) const; - //! Encode a string using the buffer-specific encoding, if set, and use the server encoding else. - QByteArray bufferEncode(const QString &bufferName, const QString &string) const; + //! Encode a string using the channel-specific encoding, if set, and use the standard encoding else. + QByteArray channelEncode(const QString &channelName, const QString &string) const; - //! Encode a string using the user-specific encoding, if set, and use the server encoding else. + //! Encode a string using the user-specific encoding, if set, and use the standard encoding else. QByteArray userEncode(const QString &userNick, const QString &string) const; public slots: // void setServerOptions(); void connectToIrc(); void disconnectFromIrc(); - void userInput(QString buffer, QString msg); + void userInput(BufferInfo bufferInfo, QString msg); - void putRawLine(QString input); - void putCmd(QString cmd, QStringList params, QString prefix = 0); + void putRawLine(QByteArray input); + void putCmd(const QString &cmd, const QVariantList ¶ms, const QByteArray &prefix = QByteArray()); private slots: @@ -94,11 +98,12 @@ signals: void recvRawServerMsg(QString); void displayStatusMsg(QString); //void displayMsg(Message msg); - void displayMsg(Message::Type, QString target, QString text, QString sender = "", quint8 flags = Message::None); - void connected(NetworkId networkId); + void displayMsg(Message::Type, BufferInfo::Type, QString target, QString text, QString sender = "", quint8 flags = Message::None); + void connected(NetworkId networkId); ///< Emitted after receipt of 001 to indicate that we can now send data to the IRC server void disconnected(NetworkId networkId); - + void connectionStateChanged(Network::ConnectionState); void connectionInitialized(); ///< Emitted after receipt of 001 to indicate that we can now send data to the IRC server + void connectionError(const QString &errorMsg); //void queryRequested(QString network, QString nick); @@ -109,9 +114,12 @@ private slots: void socketConnected(); void socketDisconnected(); void socketStateChanged(QAbstractSocket::SocketState); + void setConnectionState(Network::ConnectionState); + void networkInitialized(const QString ¤tServer); private: QTcpSocket socket; + Network::ConnectionState _connectionState; Network *_network; CoreSession *_coreSession; @@ -120,9 +128,6 @@ private: UserInputHandler *_userInputHandler; CtcpHandler *_ctcpHandler; - QVariantMap networkSettings; - QVariantMap identity; - QVariant _previousState; class ParseError : public Exception {