Committing a lot of identity stuff which is still disabled.
[quassel.git] / src / client / buffer.h
index b67a0f4..3cd6f6a 100644 (file)
@@ -1,11 +1,11 @@
 /***************************************************************************
- *   Copyright (C) 2005-07 by The Quassel Team                             *
+ *   Copyright (C) 2005-08 by the Quassel Project                          *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
  *   it under the terms of the GNU General Public License as published by  *
  *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
+ *   (at your option) version 3.                                           *
  *                                                                         *
  *   This program is distributed in the hope that it will be useful,       *
  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
@@ -22,6 +22,8 @@
 #define _BUFFER_H_
 
 class AbstractUiMsg;
+class IrcChannel;
+class NickModel;
 
 struct BufferState;
 
@@ -60,12 +62,12 @@ public:
 
   BufferInfo bufferInfo() const;
   void updateBufferInfo(BufferInfo bufferid);
-  
-  uint networkId() const;
+
+  BufferId uid() const;
+  NetworkId networkId() const;
   
   QString networkName() const;
-  QString bufferName() const;
-  QString displayName() const;
+  QString name() const;
   
   QList<AbstractUiMsg *> contents() const;
   
@@ -73,6 +75,14 @@ public:
   QString topic() const;
   QString ownNick() const;
 
+  //! Returns a pointer to the associated IrcChannel object for the buffer.
+  /** A buffer has an IrcChannel object only if it is a channel buffer
+   * (i.e. bufferType() == ChannelType), and if it is active at the moment.
+   * \returns A pointer to the associated IrcChannel object, if the buffer is a channel and online; 0 else.
+   */
+  IrcChannel *ircChannel() const;
+  NickModel *nickModel() const;
+
 signals:
   void userInput(const BufferInfo &, QString);
   void nickListChanged(QVariantMap nicks);
@@ -89,6 +99,7 @@ public slots:
   void appendMsg(const Message &);
   void prependMsg(const Message &);
   bool layoutMsg();
+  void setIrcChannel(IrcChannel *chan = 0);
 
   // no longer needed
 //   void setTopic(QString);
@@ -106,6 +117,8 @@ private:
   bool _active;
   Type _type;
   BufferState *state;
+  QPointer<IrcChannel> _ircChannel;
+  QPointer<NickModel> _nickModel;
 
   QList<Message> layoutQueue;
   QList<AbstractUiMsg *> layoutedMsgs;