X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fircparser.h;h=a119ae3025390604fed07b145d98cd9942a6e27d;hp=c1400f11b9c5701e5bd53ececa5f1c05502f4f26;hb=d030c159599a22c9023b8f0d34909d3277707f52;hpb=86837eac3346857733f3488acccca9dc2c45605e diff --git a/src/core/ircparser.h b/src/core/ircparser.h index c1400f11..a119ae30 100644 --- a/src/core/ircparser.h +++ b/src/core/ircparser.h @@ -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 * @@ -15,30 +15,43 @@ * 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 +#include "coresession.h" +#include "irctag.h" -class CoreSession; 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 CoreSession* coreSession() const { return _coreSession; } + inline EventManager* eventManager() const { return coreSession()->eventManager(); } + +signals: + void newEvent(Event*); protected: - Q_INVOKABLE void processNetworkIncoming(Event *e); + Q_INVOKABLE void processNetworkIncoming(NetworkDataEvent* e); + + bool checkParamCount(const QString& cmd, const QList& 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); 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 +};