X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcommon%2Fglobal.cpp;h=ed2d1df8b78ec2fa5f50edd3e6f716cdf9539eee;hb=717e077612ef073a6b3d2f3b19f56b8e1ed136f8;hp=b92f7959474dbea4f2bb44b8d9614687eb02befe;hpb=73edffb5f0f6ecae4118c36a7ca2c0d479b7f8c6;p=quassel.git diff --git a/src/common/global.cpp b/src/common/global.cpp index b92f7959..ed2d1df8 100644 --- a/src/common/global.cpp +++ b/src/common/global.cpp @@ -17,97 +17,16 @@ * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ +#include +#include #include "global.h" #include "logger.h" -#include "core.h" #include "message.h" #include "util.h" -#include -#include - 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"); - qRegisterMetaTypeStreamOperators("Message"); - qRegisterMetaType("BufferId"); - qRegisterMetaTypeStreamOperators("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("<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() { @@ -128,33 +47,44 @@ 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() const { - if(isChannelName(buf)) return buf; - else return nickFromMask(buf); + 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); } /** @@ -170,7 +100,5 @@ uint qHash(const BufferId &bid) { // return 0; //} -QMutex Global::mutex; Global::RunMode Global::runMode; -UserId Global::guiUser; QString Global::quasselDir;