Added uint networkId() to BufferIds.
authorMarcus Eggenberger <egs@quassel-irc.org>
Tue, 9 Oct 2007 18:18:39 +0000 (18:18 +0000)
committerMarcus Eggenberger <egs@quassel-irc.org>
Tue, 9 Oct 2007 18:18:39 +0000 (18:18 +0000)
src/common/global.cpp
src/common/global.h
src/core/sqlitestorage.cpp

index cbde79c..ed2d1df 100644 (file)
@@ -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);
 }
 
 /**
index 4ec49eb..1d1d375 100644 (file)
@@ -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);
index 3b7480f..3d26a9b 100644 (file)
@@ -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<BufferId> 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;
 }