Fixed Bug #20 (Handle Numeric Reply 433 ERR_NICKNAMEINUSE properly)
[quassel.git] / main / global.h
index 1faf4d1..8787eea 100644 (file)
@@ -24,7 +24,7 @@
 /** The protocol version we use fo the communication between core and GUI */
 #define GUI_PROTOCOL 1
 
-#define BACKLOG_FORMAT 1
+#define BACKLOG_FORMAT 2
 #define BACKLOG_STRING "QuasselIRC Backlog File"
 
 class Global;
@@ -93,4 +93,35 @@ class Exception {
 
 };
 
+class BufferId {
+  public:
+    BufferId() { id = gid = 0; } // FIXME
+    BufferId(uint uid, QString net, QString buf, uint gid = 0);
+
+    inline uint uid() { return id; }
+    inline uint groupId() { return gid; }
+    inline QString network() { return net; }
+    QString buffer(); // nickfrommask?
+
+    void setGroupId(uint _gid) { gid = _gid; }
+
+    inline bool operator==(const BufferId &other) const { return id == other.id; }
+  private:
+    uint id;
+    uint gid;
+    QString net;
+    QString buf;
+
+    friend uint qHash(const BufferId &);
+    friend QDataStream &operator<<(QDataStream &out, const BufferId &bufferId);
+    friend QDataStream &operator>>(QDataStream &in, BufferId &bufferId);
+};
+
+QDataStream &operator<<(QDataStream &out, const BufferId &bufferId);
+QDataStream &operator>>(QDataStream &in, BufferId &bufferId);
+
+Q_DECLARE_METATYPE(BufferId);
+
+uint qHash(const BufferId &);
+
 #endif