*/
/**************************************************************************************/
+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);
}
/**
};
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);
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);
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());
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;
}