Minor cleanup of messages handling
[quassel.git] / src / core / ircparser.h
index c16c898..a119ae3 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-2010 by the Quassel Project                        *
+ *   Copyright (C) 2005-2019 by the Quassel Project                        *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
  *   You should have received a copy of the GNU General Public License     *
  *   along with this program; if not, write to the                         *
  *   Free Software Foundation, Inc.,                                       *
- *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.         *
  ***************************************************************************/
 
-#ifndef IRCPARSER_H
-#define IRCPARSER_H
+#pragma once
 
 #include "coresession.h"
+#include "irctag.h"
 
 class Event;
 class EventManager;
 class IrcEvent;
 class NetworkDataEvent;
 
-class IrcParser : public QObject {
-  Q_OBJECT
+class IrcParser : public QObject
+{
+    Q_OBJECT
 
 public:
-  IrcParser(CoreSession *session);
+    explicit IrcParser(CoreSession* session);
 
-  inline CoreSession *coreSession() const { return _coreSession; }
-  inline EventManager *eventManager() const { return coreSession()->eventManager(); }
+    inline CoreSession* coreSession() const { return _coreSession; }
+    inline EventManager* eventManager() const { return coreSession()->eventManager(); }
+
+signals:
+    void newEvent(Event*);
 
 protected:
-  Q_INVOKABLE void processNetworkIncoming(NetworkDataEvent *e);
+    Q_INVOKABLE void processNetworkIncoming(NetworkDataEvent* e);
 
-  bool checkParamCount(const QString &cmd, const QList<QByteArray> &params, int minParams);
+    bool checkParamCount(const QString& cmd, const QList<QByteArray>& params, int minParams);
 
-  // no-op if we don't have crypto support!
-  QByteArray decrypt(Network *network, const QString &target, const QByteArray &message, bool isTopic = false);
+    // no-op if we don't have crypto support!
+    QByteArray decrypt(Network* network, const QString& target, const QByteArray& message, bool isTopic = false);
 
 private:
-  CoreSession *_coreSession;
-};
+    CoreSession* _coreSession;
 
-#endif
+    bool _debugLogRawIrc;      ///< If true, include raw IRC socket messages in the debug log
+    qint32 _debugLogRawNetId;  ///< Network ID for logging raw IRC socket messages, or -1 for all
+};