+//! Stores all editable information about a network (as opposed to runtime state).
+struct NetworkInfo {
+ NetworkId networkId;
+ QString networkName;
+ IdentityId identity;
+
+ bool useCustomEncodings; // not used!
+ QByteArray codecForServer;
+ QByteArray codecForEncoding;
+ QByteArray codecForDecoding;
+
+ // Server entry: QString "Host", uint "Port", QString "Password", bool "UseSSL"
+ QVariantList serverList;
+ bool useRandomServer;
+
+ QStringList perform;
+
+ bool useAutoIdentify;
+ QString autoIdentifyService;
+ QString autoIdentifyPassword;
+
+ bool useAutoReconnect;
+ quint32 autoReconnectInterval;
+ quint16 autoReconnectRetries;
+ bool unlimitedReconnectRetries;
+ bool rejoinChannels;
+
+ bool operator==(const NetworkInfo &other) const;
+ bool operator!=(const NetworkInfo &other) const;
+};
+
+QDataStream &operator<<(QDataStream &out, const NetworkInfo &info);
+QDataStream &operator>>(QDataStream &in, NetworkInfo &info);
+QDebug operator<<(QDebug dbg, const NetworkInfo &i);
+
+Q_DECLARE_METATYPE(NetworkInfo);
+