Yet another protocol break (I warned you...).
[quassel.git] / src / common / network.h
index 6c2ff40..d065306 100644 (file)
@@ -68,7 +68,7 @@ class Network : public SyncableObject {
   Q_PROPERTY(bool rejoinChannels READ rejoinChannels WRITE setRejoinChannels STORED false)
 
 public:
-  enum ConnectionState { Disconnected, Connecting, Initializing, Initialized, Disconnecting };
+  enum ConnectionState { Disconnected, Connecting, Initializing, Initialized, Reconnecting, Disconnecting };
 
   Network(const NetworkId &networkid, QObject *parent = 0);
   ~Network();
@@ -141,7 +141,9 @@ public:
   void setCodecForDecoding(QTextCodec *codec);
 
   QString decodeString(const QByteArray &text) const;
-  QByteArray encodeString(const QString string) const;
+  QByteArray encodeString(const QString &string) const;
+  QString decodeServerString(const QByteArray &text) const;
+  QByteArray encodeServerString(const QString &string) const;
 
   static QByteArray defaultCodecForServer();
   static QByteArray defaultCodecForEncoding();
@@ -179,9 +181,10 @@ public slots:
   void removeSupport(const QString &param);
 
   inline void addIrcUser(const QString &hostmask) { newIrcUser(hostmask); }
+  inline void addIrcChannel(const QString &channel) { newIrcChannel(channel); }
   void removeIrcUser(const QString &nick);
   void removeIrcChannel(const QString &channel);
-  
+
   //init geters
   QVariantMap initSupports() const;
   QVariantList initServerList() const;
@@ -192,7 +195,7 @@ public slots:
   void initSetSupports(const QVariantMap &supports);
   void initSetServerList(const QVariantList &serverList);
   void initSetIrcUsers(const QStringList &hostmasks);
-  void initSetChannels(const QStringList &channels);
+  void initSetIrcChannels(const QStringList &channels);
   
   IrcUser *updateNickFromMask(const QString &mask);
 
@@ -206,6 +209,7 @@ public slots:
   void emitConnectionError(const QString &);
 
 private slots:
+  void ircUserDestroyed();
   void channelDestroyed();
   void removeIrcUser(IrcUser *ircuser);
   void removeIrcChannel(IrcChannel *ircChannel);
@@ -232,7 +236,7 @@ signals:
   void autoIdentifyPasswordSet(const QString &);
   void useAutoReconnectSet(bool);
   void autoReconnectIntervalSet(quint32);
-  void autoReconnectRetriesSet(qint16);
+  void autoReconnectRetriesSet(quint16);
   void unlimitedReconnectRetriesSet(bool);
   void rejoinChannelsSet(bool);
 
@@ -262,6 +266,8 @@ signals:
   void disconnectRequested(NetworkId id = 0) const;
 
 private:
+  QPointer<SignalProxy> _proxy;
+
   NetworkId _networkId;
   IdentityId _identity;
 
@@ -292,7 +298,6 @@ private:
   bool _unlimitedReconnectRetries;
   bool _rejoinChannels;
 
-  QPointer<SignalProxy> _proxy;
   void determinePrefixes();
 
   QTextCodec *_codecForServer;
@@ -337,6 +342,7 @@ struct NetworkInfo {
 
 QDataStream &operator<<(QDataStream &out, const NetworkInfo &info);
 QDataStream &operator>>(QDataStream &in, NetworkInfo &info);
+QDebug operator<<(QDebug dbg, const NetworkInfo &i);
 
 Q_DECLARE_METATYPE(NetworkInfo);