/***************************************************************************
- * 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 */
+// 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; }
- protected:
- QString _msg;
+ extern QString quasselVersion;
+ extern QString quasselBaseVersion;
+ extern QString quasselBuildDate;
+ extern QString quasselBuildTime;
+ extern uint protocolVersion;
-};
+ extern uint clientNeedsProtocol; //< Minimum protocol version the client needs
+ extern uint coreNeedsProtocol; //< Minimum protocol version the core needs
-class BufferId {
-public:
- BufferId();
- BufferId(uint _id, uint _networkid, uint _gid = 0, QString _net = QString(), QString _buf = QString());
-
- inline uint uid() const { return _id; }
- inline uint networkId() const { return _netid; }
- inline uint groupId() const { return _gid; }
- inline QString network() const { return _networkName; }
- QString buffer() const;
-
- void setGroupId(uint gid) { _gid = gid; }
-
- inline bool operator==(const BufferId &other) const { return _id == other._id; }
+ extern QString quasselGeneratedVersion; //< This is possibly set in version.gen
-private:
- uint _id;
- uint _netid;
- uint _gid;
- QString _networkName; // WILL BE REMOVED
- QString _bufferName; // IS this actually needed?
-
- friend uint qHash(const BufferId &);
- friend QDataStream &operator<<(QDataStream &out, const BufferId &bufferId);
- friend QDataStream &operator>>(QDataStream &in, BufferId &bufferId);
-};
+ // 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";
-QDataStream &operator<<(QDataStream &out, const BufferId &bufferId);
-QDataStream &operator>>(QDataStream &in, BufferId &bufferId);
+ enum RunMode { Monolithic, ClientOnly, CoreOnly };
+ extern RunMode runMode;
+ extern unsigned int defaultPort;
-Q_DECLARE_METATYPE(BufferId);
+ extern bool DEBUG;
-uint qHash(const BufferId &);
+ void registerMetaTypes();
+ void setupVersion();
+};
#endif