Autogenerate version.gen - no more outdated versions!
[quassel.git] / src / common / global.h
index c672c40..777be21 100644 (file)
@@ -1,11 +1,11 @@
 /***************************************************************************
- *   Copyright (C) 2005 by The Quassel Team                                *
+ *   Copyright (C) 2005-08 by the Quassel Project                          *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
  *   it under the terms of the GNU General Public License as published by  *
  *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
+ *   (at your option) version 3.                                           *
  *                                                                         *
  *   This program is distributed in the hope that it will be useful,       *
  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
 
+// This file needs probably to go away at some point. Not much left anymore.
+
 #ifndef _GLOBAL_H_
 #define _GLOBAL_H_
 
-/** The protocol version we use fo the communication between core and GUI */
-#define GUI_PROTOCOL 3
-
-#define BACKLOG_FORMAT 2
-#define BACKLOG_STRING "QuasselIRC Backlog File"
-
-#define DEFAULT_PORT 4242
-
-#include <QHash>
-#include <QMutex>
 #include <QString>
-#include <QVariant>
 
-/* Some global stuff */
-typedef QMap<QString, QVariant> VarMap;
+// Enable some shortcuts and stuff
+//#define DEVELMODE
 
-typedef uint UserId;
-typedef uint MsgId;
+/* Some global stuff */
 
 namespace Global {
-  enum RunMode { Monolithic, ClientOnly, CoreOnly };
-  extern RunMode runMode;
-  extern QString quasselDir;
-}
 
-struct Exception {
-    Exception(QString msg = "Unknown Exception") : _msg(msg) {};
-    virtual ~Exception() {}; // make gcc happy
-    virtual inline QString msg() { return _msg; }
+  extern QString quasselVersion;
+  extern QString quasselBaseVersion;
+  extern QString quasselBuildDate;
+  extern QString quasselBuildTime;
+  extern uint protocolVersion;
 
-  protected:
-    QString _msg;
+  extern uint clientNeedsProtocol;  //< Minimum protocol version the client needs
+  extern uint coreNeedsProtocol;    //< Minimum protocol version the core needs
 
-};
-
-class BufferId {
-  public:
-    BufferId() { id = gid = 0; } // FIXME
-    BufferId(uint uid, QString net, QString buf, uint gid = 0);
+  extern QString quasselGeneratedVersion;  //< This is possibly set in version.gen
 
-    inline uint uid() const { return id; }
-    inline uint groupId() const { return gid; }
-    inline QString network() const { return net; }
-    QString buffer() const; // nickfrommask?
+  // We need different config (QSettings) files for client and gui, since the core cannot work with GUI types
+  // Set these here. They're used in ClientSettings and CoreSettings.
+  const QString coreApplicationName = "Quassel Core";
+  const QString clientApplicationName = "Quassel Client";
 
-    void setGroupId(uint _gid) { gid = _gid; }
-
-    inline bool operator==(const BufferId &other) const { return id == other.id; }
+  enum RunMode { Monolithic, ClientOnly, CoreOnly };
+  extern RunMode runMode;
+  extern unsigned int defaultPort;
 
-  private:
-    uint id;
-    uint gid;
-    QString net;
-    QString buf;
+  extern bool DEBUG;
 
-    friend uint qHash(const BufferId &);
-    friend QDataStream &operator<<(QDataStream &out, const BufferId &bufferId);
-    friend QDataStream &operator>>(QDataStream &in, BufferId &bufferId);
+  void registerMetaTypes();
+  void setupVersion();
 };
 
-QDataStream &operator<<(QDataStream &out, const BufferId &bufferId);
-QDataStream &operator>>(QDataStream &in, BufferId &bufferId);
-
-Q_DECLARE_METATYPE(BufferId);
-
-uint qHash(const BufferId &);
-
 #endif