X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fglobal.h;h=777be21521d242f59a59250413c0ff09b8662fd2;hp=1d1d3759421ba2e2ff3024dce5e5e4078e8c697b;hb=3982589b93aa14c3cede148b8a5158b63055d65c;hpb=d064f62ec2f316f17c3aac3c31184376380ef098 diff --git a/src/common/global.h b/src/common/global.h index 1d1d3759..777be215 100644 --- a/src/common/global.h +++ b/src/common/global.h @@ -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 * @@ -18,75 +18,44 @@ * 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 -#include #include -#include -/* 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