X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fnetwork.h;h=c67fea89a6e15df89d7e6fdffb68266ad8550d67;hp=a64fb08860fc1440d679aeba954504599bc8604b;hb=da3aa4136fe01e142238f0f42fe1273481037b9d;hpb=723db5bff304ad3fdf5a0609198c65a66bfbaea7 diff --git a/src/common/network.h b/src/common/network.h index a64fb088..c67fea89 100644 --- a/src/common/network.h +++ b/src/common/network.h @@ -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(); @@ -133,6 +133,8 @@ public: QList ircChannels() const; quint32 ircChannelCount() const; + inline QHash persistentChannels() const { return _persistentChannels; } + QByteArray codecForServer() const; QByteArray codecForEncoding() const; QByteArray codecForDecoding() const; @@ -183,18 +185,24 @@ public slots: inline void addIrcUser(const QString &hostmask) { newIrcUser(hostmask); } void removeIrcUser(const QString &nick); void removeIrcChannel(const QString &channel); - + + void addPersistentChannel(const QString &channel, const QString &key = QString()); + void removePersistentChannel(const QString &channel); + void setPersistentChannelKey(const QString &channel, const QString &key); + //init geters QVariantMap initSupports() const; QVariantList initServerList() const; QStringList initIrcUsers() const; QStringList initIrcChannels() const; + QStringList initPersistentChannels() const; //init seters 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); + void initSetPersistentChannels(const QStringList &channels); IrcUser *updateNickFromMask(const QString &mask); @@ -234,7 +242,7 @@ signals: void autoIdentifyPasswordSet(const QString &); void useAutoReconnectSet(bool); void autoReconnectIntervalSet(quint32); - void autoReconnectRetriesSet(qint16); + void autoReconnectRetriesSet(quint16); void unlimitedReconnectRetriesSet(bool); void rejoinChannelsSet(bool); @@ -253,6 +261,10 @@ signals: void ircUserRemoved(const QString &nick); void ircChannelRemoved(const QString &channel); + void persistentChannelAdded(const QString &channel, const QString &key); + void persistentChannelRemoved(const QString &channel); + void persistentChannelKeySet(const QString &channel, const QString &key); + // needed for client sync progress void ircUserRemoved(QObject *); void ircChannelRemoved(QObject *); @@ -281,6 +293,7 @@ private: QHash _ircUsers; // stores all known nicks for the server QHash _ircChannels; // stores all known channels QHash _supports; // stores results from RPL_ISUPPORT + QHash _persistentChannels; // stores persistent channels and their passwords, if any QVariantList _serverList; bool _useRandomServer; @@ -340,6 +353,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);