34 #include <QtCore/qobject.h>
35 #include <QtCore/qvariant.h>
36 #include <QtCore/qmetatype.h>
37 #include <QtCore/qdatetime.h>
38 #include <QtCore/qstringlist.h>
45 class IrcMessagePrivate;
52 Q_PROPERTY(
Type type READ type)
53 Q_PROPERTY(
bool own READ isOwn)
54 Q_PROPERTY(
bool implicit READ isImplicit)
55 Q_PROPERTY(Flags flags READ flags)
56 Q_PROPERTY(
bool valid READ isValid)
57 Q_PROPERTY(QString command READ command)
58 Q_PROPERTY(QString prefix READ prefix WRITE setPrefix)
59 Q_PROPERTY(QString nick READ nick)
60 Q_PROPERTY(QString ident READ ident)
61 Q_PROPERTY(QString host READ host)
62 Q_PROPERTY(QString account READ account)
63 Q_PROPERTY(QStringList parameters READ parameters WRITE setParameters)
64 Q_PROPERTY(QDateTime timeStamp READ timeStamp WRITE setTimeStamp)
65 Q_PROPERTY(QVariantMap tags READ tags WRITE setTags)
106 Q_DECLARE_FLAGS(Flags, Flag)
117 bool isImplicit()
const;
120 void setFlags(Flags flags);
122 Q_INVOKABLE
bool testFlag(Flag flag)
const;
123 Q_INVOKABLE
void setFlag(Flag flag,
bool on =
true);
125 QString command()
const;
126 void setCommand(
const QString& command);
128 QString prefix()
const;
129 void setPrefix(
const QString& prefix);
131 QString nick()
const;
132 QString ident()
const;
133 QString host()
const;
134 QString account()
const;
136 QStringList parameters()
const;
137 void setParameters(
const QStringList& parameters);
139 QString parameter(
int index)
const;
140 void setParameter(
int index,
const QString& parameter);
142 virtual bool isValid()
const;
144 QDateTime timeStamp()
const;
145 void setTimeStamp(
const QDateTime& timeStamp);
147 QByteArray encoding()
const;
148 void setEncoding(
const QByteArray& encoding);
150 QVariantMap tags()
const;
151 void setTags(
const QVariantMap& tags);
153 QVariant tag(
const QString& name)
const;
154 void setTag(
const QString& name,
const QVariant& tag);
156 Q_INVOKABLE QByteArray toData()
const;
158 Q_INVOKABLE
static IrcMessage* fromParameters(
const QString& prefix,
const QString& command,
const QStringList& parameters,
IrcConnection* connection);
159 Q_INVOKABLE
IrcMessage* clone(QObject *parent =
nullptr)
const;
162 QScopedPointer<IrcMessagePrivate> d_ptr;
167 Q_DECLARE_OPERATORS_FOR_FLAGS(IrcMessage::Flags)
172 Q_PROPERTY(QString account READ account)
177 QString account()
const;
179 bool isValid()
const override;
188 Q_PROPERTY(QString content READ content)
189 Q_PROPERTY(
bool reply READ isReply)
190 Q_PROPERTY(
bool away READ isAway)
195 QString content()
const;
196 bool isReply()
const;
199 bool isValid()
const override;
208 Q_PROPERTY(QString tag READ tag)
209 Q_PROPERTY(QString batch READ batch)
210 Q_PROPERTY(QList<IrcMessage*> messages READ messages)
216 QString batch()
const;
218 QList<IrcMessage*> messages()
const;
220 bool isValid()
const override;
229 Q_PROPERTY(QString subCommand READ subCommand)
230 Q_PROPERTY(QStringList capabilities READ capabilities)
235 QString subCommand()
const;
236 QStringList capabilities()
const;
238 bool isValid()
const override;
247 Q_PROPERTY(QString error READ error)
252 QString error()
const;
254 bool isValid()
const override;
263 Q_PROPERTY(QString user READ user)
264 Q_PROPERTY(QString host READ host)
269 QString user()
const;
270 QString host()
const;
272 bool isValid()
const override;
281 Q_PROPERTY(QString user READ user)
282 Q_PROPERTY(QString channel READ channel)
283 Q_PROPERTY(
bool reply READ isReply)
288 QString user()
const;
289 QString channel()
const;
290 bool isReply()
const;
292 bool isValid()
const override;
301 Q_PROPERTY(QString channel READ channel)
302 Q_PROPERTY(QString account READ account)
303 Q_PROPERTY(QString realName READ realName)
308 QString channel()
const;
309 QString account()
const;
310 QString realName()
const;
312 bool isValid()
const override;
321 Q_PROPERTY(QString channel READ channel)
322 Q_PROPERTY(QString user READ user)
323 Q_PROPERTY(QString reason READ reason)
328 QString channel()
const;
329 QString user()
const;
330 QString reason()
const;
332 bool isValid()
const override;
341 Q_PROPERTY(QString target READ target)
342 Q_PROPERTY(QString mode READ mode)
343 Q_PROPERTY(QString argument READ argument)
344 Q_PROPERTY(QStringList arguments READ arguments)
345 Q_PROPERTY(
bool reply READ isReply)
346 Q_PROPERTY(
Kind kind READ kind)
352 QString target()
const;
353 QString mode()
const;
354 QString argument()
const;
355 QStringList arguments()
const;
356 bool isReply()
const;
361 bool isValid()
const override;
370 Q_PROPERTY(QStringList lines READ lines)
375 QStringList lines()
const;
377 bool isValid()
const override;
386 Q_PROPERTY(QString channel READ channel)
387 Q_PROPERTY(QStringList names READ names)
392 QString channel()
const;
393 QStringList names()
const;
395 bool isValid()
const override;
404 Q_PROPERTY(QString oldNick READ oldNick)
405 Q_PROPERTY(QString newNick READ newNick)
410 QString oldNick()
const;
411 QString newNick()
const;
413 bool isValid()
const override;
422 Q_PROPERTY(QString target READ target)
423 Q_PROPERTY(QString content READ content)
424 Q_PROPERTY(QString statusPrefix READ statusPrefix)
425 Q_PROPERTY(
bool private READ isPrivate)
426 Q_PROPERTY(
bool reply READ isReply)
431 QString target()
const;
432 QString content()
const;
433 QString statusPrefix()
const;
434 bool isPrivate()
const;
435 bool isReply()
const;
437 bool isValid()
const override;
446 Q_PROPERTY(
int code READ code)
447 Q_PROPERTY(
bool composed READ isComposed)
453 bool isComposed()
const;
455 bool isValid()
const override;
464 Q_PROPERTY(QString channel READ channel)
465 Q_PROPERTY(QString reason READ reason)
470 QString channel()
const;
471 QString reason()
const;
473 bool isValid()
const override;
482 Q_PROPERTY(QString argument READ argument)
487 QString argument()
const;
489 bool isValid()
const override;
498 Q_PROPERTY(QString argument READ argument)
503 QString argument()
const;
505 bool isValid()
const override;
514 Q_PROPERTY(QString target READ target)
515 Q_PROPERTY(QString content READ content)
516 Q_PROPERTY(QString statusPrefix READ statusPrefix)
517 Q_PROPERTY(
bool private READ isPrivate)
518 Q_PROPERTY(
bool action READ isAction)
519 Q_PROPERTY(
bool request READ isRequest)
524 QString target()
const;
525 QString content()
const;
526 QString statusPrefix()
const;
527 bool isPrivate()
const;
528 bool isAction()
const;
529 bool isRequest()
const;
531 bool isValid()
const override;
540 Q_PROPERTY(QString reason READ reason)
545 QString reason()
const;
547 bool isValid()
const override;
556 Q_PROPERTY(QString channel READ channel)
557 Q_PROPERTY(QString topic READ topic)
558 Q_PROPERTY(
bool reply READ isReply)
563 QString channel()
const;
564 QString topic()
const;
565 bool isReply()
const;
567 bool isValid()
const override;
576 Q_PROPERTY(QString realName READ realName)
577 Q_PROPERTY(QString server READ server)
578 Q_PROPERTY(QString info READ info)
579 Q_PROPERTY(QString account READ account)
580 Q_PROPERTY(QString address READ address)
581 Q_PROPERTY(QDateTime since READ since)
582 Q_PROPERTY(
int idle READ idle)
583 Q_PROPERTY(
bool secure READ isSecure)
584 Q_PROPERTY(QStringList channels READ channels)
585 Q_PROPERTY(QString awayReason READ awayReason)
590 QString realName()
const;
591 QString server()
const;
592 QString info()
const;
593 QString account()
const;
594 QString address()
const;
595 QDateTime since()
const;
597 bool isSecure()
const;
598 QStringList channels()
const;
599 QString awayReason()
const;
601 bool isValid()
const override;
610 Q_PROPERTY(QString realName READ realName)
611 Q_PROPERTY(QString server READ server)
612 Q_PROPERTY(QString info READ info)
613 Q_PROPERTY(QString account READ account)
618 QString realName()
const;
619 QString server()
const;
620 QString info()
const;
621 QString account()
const;
623 bool isValid()
const override;
632 Q_PROPERTY(QString mask READ mask)
633 Q_PROPERTY(QString server READ server)
634 Q_PROPERTY(
bool away READ isAway)
635 Q_PROPERTY(
bool servOp READ isServOp)
636 Q_PROPERTY(QString realName READ realName)
641 QString mask()
const;
642 QString server()
const;
644 bool isServOp()
const;
645 QString realName()
const;
647 bool isValid()
const override;
653 #ifndef QT_NO_DEBUG_STREAM
656 IRC_CORE_EXPORT QDebug operator<<(QDebug debug, IrcMessage::Flags flags);
658 IRC_CORE_EXPORT QDebug operator<<(QDebug debug,
const IrcMessage* message);
664 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(
IrcMessage*))
Represents an account notify message.
Definition: ircmessage.h:170
Represents an away message.
Definition: ircmessage.h:186
Represents a batch message.
Definition: ircmessage.h:206
Represents a capability message.
Definition: ircmessage.h:227
Provides the most common commands.
Definition: irccommand.h:45
Provides means to establish a connection to an IRC server.
Definition: ircconnection.h:49
Represents an error message.
Definition: ircmessage.h:245
Represents a host change message.
Definition: ircmessage.h:261
Represents an invite message.
Definition: ircmessage.h:279
Represents a join message.
Definition: ircmessage.h:299
Represents a kick message.
Definition: ircmessage.h:319
The base class of all messages.
Definition: ircmessage.h:48
Flag
Definition: ircmessage.h:98
Type
Definition: ircmessage.h:70
@ Pong
A pong message (IrcPongMessage).
Definition: ircmessage.h:85
@ Invite
An invite message (IrcInviteMessage).
Definition: ircmessage.h:74
@ Nick
A nick message (IrcNickMessage).
Definition: ircmessage.h:80
@ Whowas
A whowas reply message (IrcWhowasMessage).
Definition: ircmessage.h:93
@ Capability
A capability message (IrcCapabilityMessage).
Definition: ircmessage.h:72
@ Mode
A mode message (IrcModeMessage).
Definition: ircmessage.h:77
@ HostChange
A host change message (IrcHostChangeMessage).
Definition: ircmessage.h:94
@ Whois
A whois reply message (IrcWhoisMessage).
Definition: ircmessage.h:92
@ Error
An error message (IrcErrorMessage).
Definition: ircmessage.h:73
@ Kick
A kick message (IrcKickMessage).
Definition: ircmessage.h:76
@ Part
A part message (IrcPartMessage).
Definition: ircmessage.h:83
@ Motd
A message of the day (IrcMotdMessage).
Definition: ircmessage.h:78
@ Notice
A notice message (IrcNoticeMessage).
Definition: ircmessage.h:81
@ Join
A join message (IrcJoinMessage).
Definition: ircmessage.h:75
@ WhoReply
A who reply message (IrcWhoReplyMessage).
Definition: ircmessage.h:89
@ Ping
A ping message (IrcPingMessage).
Definition: ircmessage.h:84
@ Away
An away message (IrcAwayMessage).
Definition: ircmessage.h:91
@ Private
A private message (IrcPrivateMessage).
Definition: ircmessage.h:86
@ Unknown
An unknown message (IrcMessage).
Definition: ircmessage.h:71
@ Account
An account notify message (IrcAccountMessage).
Definition: ircmessage.h:90
@ Numeric
A numeric message (IrcNumericMessage).
Definition: ircmessage.h:82
@ Quit
A quit message (IrcQuitMessage).
Definition: ircmessage.h:87
@ Names
A names message (IrcNamesMessage).
Definition: ircmessage.h:79
@ Topic
A topic message (IrcTopicMessage).
Definition: ircmessage.h:88
Represents a mode message.
Definition: ircmessage.h:339
Kind
Definition: ircmessage.h:358
@ Channel
Channel mode.
Definition: ircmessage.h:358
Represents a message of the day.
Definition: ircmessage.h:368
Represents a names list message.
Definition: ircmessage.h:384
Provides network information and capability management.
Definition: ircnetwork.h:44
Represents a nick message.
Definition: ircmessage.h:402
Represents a notice message.
Definition: ircmessage.h:420
Represents a numeric message.
Definition: ircmessage.h:444
Represents a part message.
Definition: ircmessage.h:462
Represents a ping message.
Definition: ircmessage.h:480
Represents a pong message.
Definition: ircmessage.h:496
Represents a private message.
Definition: ircmessage.h:512
Represents a quit message.
Definition: ircmessage.h:538
Represents a topic message.
Definition: ircmessage.h:554
Represents a reply message to a WHO command.
Definition: ircmessage.h:630
Represents a reply message to a WHOIS command.
Definition: ircmessage.h:574
Represents a reply message to a WHOWAS command.
Definition: ircmessage.h:608