X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fbufferinfo.cpp;h=c45c8aa77a5a5783432b82840751b501ac19ff89;hp=a63d703a04214dcc3ff54fd5f7a61494ff905415;hb=cc0cad583046c34cb1296329016e1834995d171d;hpb=3b29973a4fecd4658ced22aadc70555b86b8a0df diff --git a/src/common/bufferinfo.cpp b/src/common/bufferinfo.cpp index a63d703a..c45c8aa7 100644 --- a/src/common/bufferinfo.cpp +++ b/src/common/bufferinfo.cpp @@ -30,19 +30,25 @@ BufferInfo::BufferInfo() : _bufferId(0), _netid(0), + _type(InvalidBuffer), _groupId(0), _bufferName(QString()) { } -BufferInfo::BufferInfo(BufferId id, NetworkId networkid, uint gid, QString buf) +BufferInfo::BufferInfo(BufferId id, NetworkId networkid, Type type, uint gid, QString buf) : _bufferId(id), _netid(networkid), + _type(type), _groupId(gid), _bufferName(buf) { } +BufferInfo BufferInfo::fakeStatusBuffer(NetworkId networkId) { + return BufferInfo(0, networkId, StatusBuffer); +} + QString BufferInfo::bufferName() const { if(isChannelName(_bufferName)) return _bufferName; @@ -56,18 +62,20 @@ QDebug operator<<(QDebug dbg, const BufferInfo &b) { } QDataStream &operator<<(QDataStream &out, const BufferInfo &bufferInfo) { - out << bufferInfo._bufferId << bufferInfo._netid << bufferInfo._groupId << bufferInfo._bufferName.toUtf8(); + out << bufferInfo._bufferId << bufferInfo._netid << (qint16)bufferInfo._type << bufferInfo._groupId << bufferInfo._bufferName.toUtf8(); return out; } QDataStream &operator>>(QDataStream &in, BufferInfo &bufferInfo) { QByteArray buffername; - in >> bufferInfo._bufferId >> bufferInfo._netid >> bufferInfo._groupId >> buffername; + qint16 bufferType; + in >> bufferInfo._bufferId >> bufferInfo._netid >> bufferType >> bufferInfo._groupId >> buffername; + bufferInfo._type = (BufferInfo::Type)bufferType; bufferInfo._bufferName = QString::fromUtf8(buffername); return in; } uint qHash(const BufferInfo &bufferid) { - return qHash(bufferid._bufferId.toInt()); + return qHash(bufferid._bufferId); }