From d064f62ec2f316f17c3aac3c31184376380ef098 Mon Sep 17 00:00:00 2001 From: Marcus Eggenberger Date: Tue, 9 Oct 2007 18:18:39 +0000 Subject: [PATCH] Added uint networkId() to BufferIds. --- src/common/global.cpp | 34 +++++++++++++++++++--------- src/common/global.h | 46 ++++++++++++++++++++------------------ src/core/sqlitestorage.cpp | 7 +++--- 3 files changed, 51 insertions(+), 36 deletions(-) diff --git a/src/common/global.cpp b/src/common/global.cpp index cbde79cd..ed2d1df8 100644 --- a/src/common/global.cpp +++ b/src/common/global.cpp @@ -47,32 +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; - 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); } /** diff --git a/src/common/global.h b/src/common/global.h index 4ec49eb8..1d1d3759 100644 --- a/src/common/global.h +++ b/src/common/global.h @@ -56,28 +56,30 @@ struct Exception { }; class BufferId { - public: - BufferId() { id = gid = 0; } // FIXME - BufferId(uint uid, QString net, QString buf, uint gid = 0); - - inline uint uid() const { return id; } - inline uint groupId() const { return gid; } - inline QString network() const { return net; } - QString buffer() const; // nickfrommask? - - void setGroupId(uint _gid) { gid = _gid; } - - inline bool operator==(const BufferId &other) const { return id == other.id; } - - private: - uint id; - uint gid; - QString net; - QString buf; - - friend uint qHash(const BufferId &); - friend QDataStream &operator<<(QDataStream &out, const BufferId &bufferId); - friend QDataStream &operator>>(QDataStream &in, BufferId &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; } + +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); }; QDataStream &operator<<(QDataStream &out, const BufferId &bufferId); diff --git a/src/core/sqlitestorage.cpp b/src/core/sqlitestorage.cpp index 3b7480fc..3d26a9b4 100644 --- a/src/core/sqlitestorage.cpp +++ b/src/core/sqlitestorage.cpp @@ -309,6 +309,7 @@ uint SqliteStorage::getNetworkId(UserId user, const QString &network) { BufferId SqliteStorage::getBufferId(UserId user, const QString &network, const QString &buffer) { BufferId bufferid; + uint networkId = getNetworkId(user, network); getBufferIdQuery->bindValue(":networkname", network); getBufferIdQuery->bindValue(":userid", user); getBufferIdQuery->bindValue(":buffername", buffer); @@ -318,11 +319,11 @@ BufferId SqliteStorage::getBufferId(UserId user, const QString &network, const Q createBuffer(user, network, buffer); getBufferIdQuery->exec(); if(getBufferIdQuery->first()) { - bufferid = BufferId(getBufferIdQuery->value(0).toUInt(), network, buffer); + bufferid = BufferId(getBufferIdQuery->value(0).toUInt(), networkId, 0, network, buffer); emit bufferIdUpdated(bufferid); } } else { - bufferid = BufferId(getBufferIdQuery->value(0).toUInt(), network, buffer); + bufferid = BufferId(getBufferIdQuery->value(0).toUInt(), networkId, 0, network, buffer); } Q_ASSERT(!getBufferIdQuery->next()); @@ -347,7 +348,7 @@ QList SqliteStorage::requestBuffers(UserId user, QDateTime since) { query.exec(); while(query.next()) { - bufferlist << BufferId(query.value(0).toUInt(), query.value(1).toString(), query.value(2).toString()); + bufferlist << BufferId(query.value(0).toUInt(), getNetworkId(user, query.value(1).toString()), 0, query.value(1).toString(), query.value(2).toString()); } return bufferlist; } -- 2.20.1