Don't invoke notifications for own messages, fixes #507
[quassel.git] / src / core / basichandler.h
index a520087..f67fe7f 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
 /***************************************************************************
- *   Copyright (C) 2005-08 by the Quassel Project                          *
+ *   Copyright (C) 2005-09 by the Quassel Project                          *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -18,8 +18,8 @@
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
 
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
 
-#ifndef _BASICHANDLER_H_
-#define _BASICHANDLER_H_
+#ifndef BASICHANDLER_H_
+#define BASICHANDLER_H_
 
 #include <QObject>
 #include <QString>
 
 #include <QObject>
 #include <QString>
 
 #include "message.h"
 
 
 #include "message.h"
 
-class NetworkConnection;
-class Network;
+#include "corenetwork.h"
+
+class CoreSession;
 
 class BasicHandler : public QObject {
   Q_OBJECT
 
 public:
 
 class BasicHandler : public QObject {
   Q_OBJECT
 
 public:
-  BasicHandler(NetworkConnection *parent = 0);
+  BasicHandler(CoreNetwork *parent = 0);
 
   QStringList providesHandlers();
 
   QString serverDecode(const QByteArray &string);
   QStringList serverDecode(const QList<QByteArray> &stringlist);
 
   QStringList providesHandlers();
 
   QString serverDecode(const QByteArray &string);
   QStringList serverDecode(const QList<QByteArray> &stringlist);
-  QString bufferDecode(const QString &bufferName, const QByteArray &string);
-  QStringList bufferDecode(const QString &bufferName, const QList<QByteArray> &stringlist);
+  QString channelDecode(const QString &bufferName, const QByteArray &string);
+  QStringList channelDecode(const QString &bufferName, const QList<QByteArray> &stringlist);
   QString userDecode(const QString &userNick, const QByteArray &string);
   QStringList userDecode(const QString &userNick, const QList<QByteArray> &stringlist);
 
   QByteArray serverEncode(const QString &string);
   QList<QByteArray> serverEncode(const QStringList &stringlist);
   QString userDecode(const QString &userNick, const QByteArray &string);
   QStringList userDecode(const QString &userNick, const QList<QByteArray> &stringlist);
 
   QByteArray serverEncode(const QString &string);
   QList<QByteArray> serverEncode(const QStringList &stringlist);
-  QByteArray bufferEncode(const QString &bufferName, const QString &string);
-  QList<QByteArray> bufferEncode(const QString &bufferName, const QStringList &stringlist);
+  QByteArray channelEncode(const QString &bufferName, const QString &string);
+  QList<QByteArray> channelEncode(const QString &bufferName, const QStringList &stringlist);
   QByteArray userEncode(const QString &userNick, const QString &string);
   QList<QByteArray> userEncode(const QString &userNick, const QStringList &stringlist);
 
 signals:
   QByteArray userEncode(const QString &userNick, const QString &string);
   QList<QByteArray> userEncode(const QString &userNick, const QStringList &stringlist);
 
 signals:
-  void displayMsg(Message::Type, BufferInfo::Type, QString target, QString text, QString sender = "", quint8 flags = Message::None);
-  void putCmd(const QString &cmd, const QVariantList &params, const QByteArray &prefix);
+  void displayMsg(Message::Type, BufferInfo::Type, QString target, QString text, QString sender = "", Message::Flags flags = Message::None);
+  void putCmd(const QString &cmd, const QList<QByteArray> &params, const QByteArray &prefix = QByteArray());
   void putRawLine(const QByteArray &msg);
 
 protected:
   void putRawLine(const QByteArray &msg);
 
 protected:
+  void displayMsg(Message::Type, QString target, QString text, QString sender = "", Message::Flags flags = Message::None);
   void putCmd(const QString &cmd, const QByteArray &param, const QByteArray &prefix = QByteArray());
   void putCmd(const QString &cmd, const QByteArray &param, const QByteArray &prefix = QByteArray());
-  void putCmd(const QString &cmd, const QList<QByteArray> &params, const QByteArray &prefix = QByteArray());
 
   virtual void handle(const QString &member, QGenericArgument val0 = QGenericArgument(0),
                       QGenericArgument val1 = QGenericArgument(), QGenericArgument val2 = QGenericArgument(),
 
   virtual void handle(const QString &member, QGenericArgument val0 = QGenericArgument(0),
                       QGenericArgument val1 = QGenericArgument(), QGenericArgument val2 = QGenericArgument(),
@@ -70,15 +71,16 @@ protected:
                       QGenericArgument val7 = QGenericArgument(), QGenericArgument val8 = QGenericArgument());
 
 
                       QGenericArgument val7 = QGenericArgument(), QGenericArgument val8 = QGenericArgument());
 
 
-  Network * network() const;
-  NetworkConnection * networkConnection() const;
+  inline CoreNetwork *network() const { return _network; }
+  inline CoreSession *coreSession() const { return _network->coreSession(); }
+
   BufferInfo::Type typeByTarget(const QString &target) const;
 
 private:
   const QHash<QString, int> &handlerHash();
   QHash<QString, int> _handlerHash;
   int defaultHandler;
   BufferInfo::Type typeByTarget(const QString &target) const;
 
 private:
   const QHash<QString, int> &handlerHash();
   QHash<QString, int> _handlerHash;
   int defaultHandler;
-  NetworkConnection *_networkConnection;
+  CoreNetwork *_network;
   bool initDone;
 };
 #endif
   bool initDone;
 };
 #endif