X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fnetwork.h;h=4bbd984bc4b833a4d82c4df34626784ce93efccf;hp=3759e565f103b54c9618c02f18d4b0e42b2d9ada;hb=3c635083917c68f15c10ec56c4a6a9d01a2593f9;hpb=cb1918d94b5d8ec9f05a192c96fab938782dabf5 diff --git a/src/common/network.h b/src/common/network.h index 3759e565..4bbd984b 100644 --- a/src/common/network.h +++ b/src/common/network.h @@ -18,8 +18,8 @@ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ -#ifndef NETWORK_H_ -#define NETWORK_H_ +#ifndef NETWORK_H +#define NETWORK_H #include #include @@ -48,6 +48,7 @@ class Network : public SyncableObject { Q_PROPERTY(QString networkName READ networkName WRITE setNetworkName STORED false) Q_PROPERTY(QString currentServer READ currentServer WRITE setCurrentServer STORED false) Q_PROPERTY(QString myNick READ myNick WRITE setMyNick STORED false) + Q_PROPERTY(int latency READ latency WRITE setLatency STORED false) Q_PROPERTY(QByteArray codecForServer READ codecForServer WRITE setCodecForServer STORED false) Q_PROPERTY(QByteArray codecForEncoding READ codecForEncoding WRITE setCodecForEncoding STORED false) Q_PROPERTY(QByteArray codecForDecoding READ codecForDecoding WRITE setCodecForDecoding STORED false) @@ -87,7 +88,7 @@ public: D_CHANMODE = 0x08 }; - + Network(const NetworkId &networkid, QObject *parent = 0); ~Network(); @@ -112,10 +113,11 @@ public: ChannelModeType channelModeType(const QString &mode); inline ChannelModeType channelModeType(const QCharRef &mode) { return channelModeType(QString(mode)); } - + inline const QString &networkName() const { return _networkName; } inline const QString ¤tServer() const { return _currentServer; } inline const QString &myNick() const { return _myNick; } + inline int latency() const { return _latency; } inline IrcUser *me() const { return ircUser(myNick()); } inline IdentityId identity() const { return _identity; } QStringList nicks() const; @@ -174,6 +176,9 @@ public: static void setDefaultCodecForEncoding(const QByteArray &name); static void setDefaultCodecForDecoding(const QByteArray &name); + bool autoAwayActive() const { return _autoAwayActive; } + void setAutoAwayActive(bool active) { _autoAwayActive = active; } + public slots: void setNetworkName(const QString &networkName); void setCurrentServer(const QString ¤tServer); @@ -181,6 +186,7 @@ public slots: //void setConnectionState(Network::ConnectionState state); void setConnectionState(int state); void setMyNick(const QString &mynick); + void setLatency(int latency); void setIdentity(IdentityId); void setServerList(const QVariantList &serverList); @@ -210,15 +216,17 @@ public slots: //init geters QVariantMap initSupports() const; inline QVariantList initServerList() const { return serverList(); } - QStringList initIrcUsers() const; - QStringList initIrcChannels() const; - + virtual QVariantMap initIrcUsersAndChannels() const; +// QStringList initIrcUsers() const; +// QStringList initIrcChannels() const; + //init seters void initSetSupports(const QVariantMap &supports); inline void initSetServerList(const QVariantList &serverList) { setServerList(serverList); } - void initSetIrcUsers(const QStringList &hostmasks); - void initSetIrcChannels(const QStringList &channels); - + virtual void initSetIrcUsersAndChannels(const QVariantMap &usersAndChannels); +// void initSetIrcUsers(const QStringList &hostmasks); +// void initSetIrcChannels(const QStringList &channels); + IrcUser *updateNickFromMask(const QString &mask); // these slots are to keep the hashlists of all users and the @@ -227,6 +235,7 @@ public slots: virtual inline void requestConnect() const { emit connectRequested(); } virtual inline void requestDisconnect() const { emit disconnectRequested(); } + virtual inline void requestSetNetworkInfo(const NetworkInfo &info) { emit setNetworkInfoRequested(info); } void emitConnectionError(const QString &); @@ -248,6 +257,7 @@ signals: void connectionStateSet(int); void connectionError(const QString &errorMsg); void myNickSet(const QString &mynick); + void latencySet(int latency); void identitySet(IdentityId); void serverListSet(QVariantList serverList); @@ -286,6 +296,7 @@ signals: void connectRequested(NetworkId id = 0) const; void disconnectRequested(NetworkId id = 0) const; + void setNetworkInfoRequested(const NetworkInfo &) const; private: QPointer _proxy; @@ -294,6 +305,7 @@ private: IdentityId _identity; QString _myNick; + int _latency; QString _networkName; QString _currentServer; bool _connected; @@ -329,6 +341,8 @@ private: static QTextCodec *_defaultCodecForServer; static QTextCodec *_defaultCodecForEncoding; static QTextCodec *_defaultCodecForDecoding; + + bool _autoAwayActive; // when this is active handle305 and handle306 don't trigger any output }; //! Stores all editable information about a network (as opposed to runtime state). @@ -366,6 +380,6 @@ QDataStream &operator<<(QDataStream &out, const NetworkInfo &info); QDataStream &operator>>(QDataStream &in, NetworkInfo &info); QDebug operator<<(QDebug dbg, const NetworkInfo &i); -Q_DECLARE_METATYPE(NetworkInfo); +Q_DECLARE_METATYPE(NetworkInfo) #endif