/***************************************************************************
- * Copyright (C) 2005-2015 by the Quassel Project *
+ * Copyright (C) 2005-2020 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
***************************************************************************/
-#ifndef CTCPEVENT_H
-#define CTCPEVENT_H
+#pragma once
-#include "ircevent.h"
+#include "common-export.h"
+
+#include <utility>
#include <QUuid>
-class CtcpEvent : public IrcEvent
+#include "ircevent.h"
+
+class COMMON_EXPORT CtcpEvent : public IrcEvent
{
public:
- enum CtcpType {
+ enum CtcpType
+ {
Query,
Reply
};
- explicit CtcpEvent(EventManager::EventType type, Network *network, const QString &prefix, const QString &target,
- CtcpType ctcpType, const QString &ctcpCmd, const QString ¶m,
- const QDateTime ×tamp = QDateTime(), const QUuid &uuid = QUuid())
- : IrcEvent(type, network, prefix),
- _ctcpType(ctcpType),
- _ctcpCmd(ctcpCmd),
- _target(target),
- _param(param),
- _uuid(uuid)
+ explicit CtcpEvent(EventManager::EventType type,
+ Network* network,
+ QHash<IrcTagKey, QString> tags,
+ QString prefix,
+ QString target,
+ CtcpType ctcpType,
+ QString ctcpCmd,
+ QString param,
+ const QDateTime& timestamp = QDateTime(),
+ const QUuid& uuid = QUuid())
+ : IrcEvent(type, network, std::move(tags), std::move(prefix))
+ , _ctcpType(ctcpType)
+ , _ctcpCmd(std::move(ctcpCmd))
+ , _target(std::move(target))
+ , _param(std::move(param))
+ , _uuid(uuid)
{
setTimestamp(timestamp);
}
-
inline CtcpType ctcpType() const { return _ctcpType; }
inline void setCtcpType(CtcpType type) { _ctcpType = type; }
inline QString ctcpCmd() const { return _ctcpCmd; }
- inline void setCtcpCmd(const QString &ctcpCmd) { _ctcpCmd = ctcpCmd; }
+ inline void setCtcpCmd(const QString& ctcpCmd) { _ctcpCmd = ctcpCmd; }
inline QString target() const { return _target; }
- inline void setTarget(const QString &target) { _target = target; }
+ inline void setTarget(const QString& target) { _target = target; }
inline QString param() const { return _param; }
- inline void setParam(const QString ¶m) { _param = param; }
+ inline void setParam(const QString& param) { _param = param; }
inline QString reply() const { return _reply; }
- inline void setReply(const QString &reply) { _reply = reply; }
+ inline void setReply(const QString& reply) { _reply = reply; }
inline QUuid uuid() const { return _uuid; }
- inline void setUuid(const QUuid &uuid) { _uuid = uuid; }
+ inline void setUuid(const QUuid& uuid) { _uuid = uuid; }
- static Event *create(EventManager::EventType type, QVariantMap &map, Network *network);
+ static Event* create(EventManager::EventType type, QVariantMap& map, Network* network);
protected:
- explicit CtcpEvent(EventManager::EventType type, QVariantMap &map, Network *network);
- void toVariantMap(QVariantMap &map) const;
+ explicit CtcpEvent(EventManager::EventType type, QVariantMap& map, Network* network);
+ void toVariantMap(QVariantMap& map) const override;
- virtual inline QString className() const { return "CtcpEvent"; }
- virtual inline void debugInfo(QDebug &dbg) const
+ inline QString className() const override { return "CtcpEvent"; }
+ inline void debugInfo(QDebug& dbg) const override
{
NetworkEvent::debugInfo(dbg);
dbg << ", prefix = " << qPrintable(prefix())
<< ", reply = " << qPrintable(reply());
}
-
private:
CtcpType _ctcpType;
QString _ctcpCmd;
QString _target, _param, _reply;
QUuid _uuid;
};
-
-
-#endif