* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
+#include <QObject>
+#include <QStringList>
#include "global.h"
#include "logger.h"
-#include "core.h"
#include "message.h"
#include "util.h"
-#include <QtCore>
-#include <QDomDocument>
-
extern void messageHandler(QtMsgType type, const char *msg);
-Global *Global::instanceptr = 0;
-
-Global * Global::instance() {
- if(instanceptr) return instanceptr;
- return instanceptr = new Global();
-}
-
-void Global::destroy() {
- delete instanceptr;
- instanceptr = 0;
-}
-
-Global::Global() {
- qInstallMsgHandler(messageHandler);
- qRegisterMetaType<Message>("Message");
- qRegisterMetaTypeStreamOperators<Message>("Message");
- qRegisterMetaType<BufferId>("BufferId");
- qRegisterMetaTypeStreamOperators<BufferId>("BufferId");
-
- guiUser = 0;
-}
-
-Global::~Global() {
-
-
-}
-
-void Global::setGuiUser(UserId uid) {
- guiUser = uid;
-}
-
-QVariant Global::data(QString key, QVariant defval) {
- return data(guiUser, key, defval);
-}
-
-QVariant Global::data(UserId uid, QString key, QVariant defval) {
- QVariant d;
- mutex.lock();
- if(instance()->datastore[uid].contains(key)) d = instance()->datastore[uid][key];
- else d = defval;
- mutex.unlock();
- //qDebug() << "getData("<<key<<"): " << d;
- return d;
-}
-
-QStringList Global::keys() {
- return keys(guiUser);
-}
-
-QStringList Global::keys(UserId uid) {
- QStringList k;
- mutex.lock();
- k = instance()->datastore[uid].keys();
- mutex.unlock();
- return k;
-}
-
-void Global::putData(QString key, QVariant d) {
- putData(guiUser, key, d);
-}
-
-void Global::putData(UserId uid, QString key, QVariant d) {
- mutex.lock();
- instance()->datastore[uid][key] = d;
- mutex.unlock();
- emit instance()->dataPutLocally(uid, key);
-}
-
-void Global::updateData(QString key, QVariant d) {
- updateData(guiUser, key, d);
-}
-
-void Global::updateData(UserId uid, QString key, QVariant d) {
- mutex.lock();
- instance()->datastore[uid][key] = d;
- mutex.unlock();
- emit instance()->dataUpdatedRemotely(uid, key);
-}
-
/* not done yet */
/*
void Global::initIconMap() {
*/
/**************************************************************************************/
+BufferId::BufferId()
+ : _id(0),
+ _netid(0),
+ _gid(0),
+ _networkName(QString()),
+ _bufferName(QString()) {
+}
-
-
-BufferId::BufferId(uint _id, QString _net, QString _buf, uint _gid) : id(_id), gid(_gid), net(_net), buf(_buf) {
-
-
+BufferId::BufferId(uint id, uint networkid, uint gid, QString net, QString buf)
+ : _id(id),
+ _netid(networkid),
+ _gid(gid),
+ _networkName(net),
+ _bufferName(buf) {
}
-QString BufferId::buffer() {
- if(isChannelName(buf)) return buf;
- else return nickFromMask(buf);
+QString BufferId::buffer() const {
+ if(isChannelName(_bufferName))
+ return _bufferName;
+ else
+ return nickFromMask(_bufferName);
}
QDataStream &operator<<(QDataStream &out, const BufferId &bufferId) {
- out << bufferId.id << bufferId.gid << bufferId.net.toUtf8() << bufferId.buf.toUtf8();
+ out << bufferId._id << bufferId._netid << bufferId._gid << bufferId._networkName.toUtf8() << bufferId._bufferName.toUtf8();
+ return out;
}
QDataStream &operator>>(QDataStream &in, BufferId &bufferId) {
QByteArray n, b;
- BufferId i;
- in >> bufferId.id >> bufferId.gid >> n >> b;
- bufferId.net = QString::fromUtf8(n);
- bufferId.buf = QString::fromUtf8(b);
+ in >> bufferId._id >> bufferId._netid >> bufferId._gid >> n >> b;
+ bufferId._networkName = QString::fromUtf8(n);
+ bufferId._bufferName = QString::fromUtf8(b);
+ return in;
}
-uint qHash(const BufferId &bid) {
- return qHash(bid.id);
+uint qHash(const BufferId &bufferid) {
+ return qHash(bufferid._id);
}
/**
// return 0;
//}
-QMutex Global::mutex;
Global::RunMode Global::runMode;
-UserId Global::guiUser;
QString Global::quasselDir;