Communi  3.7.0
A cross-platform IRC framework written with Qt
Loading...
Searching...
No Matches
ircmessage.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2008-2020 The Communi Project
3
4 You may use this file under the terms of BSD license as follows:
5
6 Redistribution and use in source and binary forms, with or without
7 modification, are permitted provided that the following conditions are met:
8 * Redistributions of source code must retain the above copyright
9 notice, this list of conditions and the following disclaimer.
10 * Redistributions in binary form must reproduce the above copyright
11 notice, this list of conditions and the following disclaimer in the
12 documentation and/or other materials provided with the distribution.
13 * Neither the name of the copyright holder nor the names of its
14 contributors may be used to endorse or promote products derived
15 from this software without specific prior written permission.
16
17 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR
21 ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27*/
28
29#ifndef IRCMESSAGE_H
30#define IRCMESSAGE_H
31
32#include <Irc>
33#include <IrcGlobal>
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>
39
40IRC_BEGIN_NAMESPACE
41
42class IrcCommand;
43class IrcNetwork;
44class IrcConnection;
45class IrcMessagePrivate;
46
47class IRC_CORE_EXPORT IrcMessage : public QObject
48{
49 Q_OBJECT
50 Q_PROPERTY(IrcConnection* connection READ connection)
51 Q_PROPERTY(IrcNetwork* network READ network)
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)
66 Q_ENUMS(Type Flag)
67 Q_FLAGS(Flags)
68
69public:
97
98 enum Flag {
99 None = 0x00,
100 Own = 0x01,
101 Identified = 0x02,
102 Unidentified = 0x04,
103 Playback = 0x08,
104 Implicit = 0x10
105 };
106 Q_DECLARE_FLAGS(Flags, Flag)
107
108 Q_INVOKABLE explicit IrcMessage(IrcConnection* connection);
109 ~IrcMessage() override;
110
111 IrcConnection* connection() const;
112 IrcNetwork* network() const;
113
114 Type type() const;
115
116 bool isOwn() const;
117 bool isImplicit() const;
118
119 Flags flags() const;
120 void setFlags(Flags flags);
121
122 Q_INVOKABLE bool testFlag(Flag flag) const;
123 Q_INVOKABLE void setFlag(Flag flag, bool on = true);
124
125 QString command() const;
126 void setCommand(const QString& command);
127
128 QString prefix() const;
129 void setPrefix(const QString& prefix);
130
131 QString nick() const;
132 QString ident() const;
133 QString host() const;
134 QString account() const;
135
136 QStringList parameters() const;
137 void setParameters(const QStringList& parameters);
138
139 QString parameter(int index) const;
140 void setParameter(int index, const QString& parameter);
141
142 virtual bool isValid() const;
143
144 QDateTime timeStamp() const;
145 void setTimeStamp(const QDateTime& timeStamp);
146
147 QByteArray encoding() const;
148 void setEncoding(const QByteArray& encoding);
149
150 QVariantMap tags() const;
151 void setTags(const QVariantMap& tags);
152
153 QVariant tag(const QString& name) const;
154 void setTag(const QString& name, const QVariant& tag);
155
156 Q_INVOKABLE QByteArray toData() const;
157 Q_INVOKABLE static IrcMessage* fromData(const QByteArray& data, IrcConnection* connection);
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;
160
161protected:
162 QScopedPointer<IrcMessagePrivate> d_ptr;
163 Q_DECLARE_PRIVATE(IrcMessage)
164 Q_DISABLE_COPY(IrcMessage)
165};
166
167Q_DECLARE_OPERATORS_FOR_FLAGS(IrcMessage::Flags)
168
169class IRC_CORE_EXPORT IrcAccountMessage : public IrcMessage
170{
171 Q_OBJECT
172 Q_PROPERTY(QString account READ account)
173
174public:
175 Q_INVOKABLE explicit IrcAccountMessage(IrcConnection* connection);
176
177 QString account() const;
178
179 bool isValid() const override;
180
181private:
182 Q_DISABLE_COPY(IrcAccountMessage)
183};
184
185class IRC_CORE_EXPORT IrcAwayMessage : public IrcMessage
186{
187 Q_OBJECT
188 Q_PROPERTY(QString content READ content)
189 Q_PROPERTY(bool reply READ isReply)
190 Q_PROPERTY(bool away READ isAway)
191
192public:
193 Q_INVOKABLE explicit IrcAwayMessage(IrcConnection* connection);
194
195 QString content() const;
196 bool isReply() const;
197 bool isAway() const;
198
199 bool isValid() const override;
200
201private:
202 Q_DISABLE_COPY(IrcAwayMessage)
203};
204
205class IRC_CORE_EXPORT IrcBatchMessage : public IrcMessage
206{
207 Q_OBJECT
208 Q_PROPERTY(QString tag READ tag)
209 Q_PROPERTY(QString batch READ batch)
210 Q_PROPERTY(QList<IrcMessage*> messages READ messages)
211
212public:
213 Q_INVOKABLE explicit IrcBatchMessage(IrcConnection* connection);
214
215 QString tag() const;
216 QString batch() const;
217
218 QList<IrcMessage*> messages() const;
219
220 bool isValid() const override;
221
222private:
223 Q_DISABLE_COPY(IrcBatchMessage)
224};
225
226class IRC_CORE_EXPORT IrcCapabilityMessage : public IrcMessage
227{
228 Q_OBJECT
229 Q_PROPERTY(QString subCommand READ subCommand)
230 Q_PROPERTY(QStringList capabilities READ capabilities)
231
232public:
233 Q_INVOKABLE explicit IrcCapabilityMessage(IrcConnection* connection);
234
235 QString subCommand() const;
236 QStringList capabilities() const;
237
238 bool isValid() const override;
239
240private:
241 Q_DISABLE_COPY(IrcCapabilityMessage)
242};
243
244class IRC_CORE_EXPORT IrcErrorMessage : public IrcMessage
245{
246 Q_OBJECT
247 Q_PROPERTY(QString error READ error)
248
249public:
250 Q_INVOKABLE explicit IrcErrorMessage(IrcConnection* connection);
251
252 QString error() const;
253
254 bool isValid() const override;
255
256private:
257 Q_DISABLE_COPY(IrcErrorMessage)
258};
259
260class IRC_CORE_EXPORT IrcHostChangeMessage : public IrcMessage
261{
262 Q_OBJECT
263 Q_PROPERTY(QString user READ user)
264 Q_PROPERTY(QString host READ host)
265
266public:
267 Q_INVOKABLE explicit IrcHostChangeMessage(IrcConnection* connection);
268
269 QString user() const;
270 QString host() const;
271
272 bool isValid() const override;
273
274private:
275 Q_DISABLE_COPY(IrcHostChangeMessage)
276};
277
278class IRC_CORE_EXPORT IrcInviteMessage : public IrcMessage
279{
280 Q_OBJECT
281 Q_PROPERTY(QString user READ user)
282 Q_PROPERTY(QString channel READ channel)
283 Q_PROPERTY(bool reply READ isReply)
284
285public:
286 Q_INVOKABLE explicit IrcInviteMessage(IrcConnection* connection);
287
288 QString user() const;
289 QString channel() const;
290 bool isReply() const;
291
292 bool isValid() const override;
293
294private:
295 Q_DISABLE_COPY(IrcInviteMessage)
296};
297
298class IRC_CORE_EXPORT IrcJoinMessage : public IrcMessage
299{
300 Q_OBJECT
301 Q_PROPERTY(QString channel READ channel)
302 Q_PROPERTY(QString account READ account)
303 Q_PROPERTY(QString realName READ realName)
304
305public:
306 Q_INVOKABLE explicit IrcJoinMessage(IrcConnection* connection);
307
308 QString channel() const;
309 QString account() const;
310 QString realName() const;
311
312 bool isValid() const override;
313
314private:
315 Q_DISABLE_COPY(IrcJoinMessage)
316};
317
318class IRC_CORE_EXPORT IrcKickMessage : public IrcMessage
319{
320 Q_OBJECT
321 Q_PROPERTY(QString channel READ channel)
322 Q_PROPERTY(QString user READ user)
323 Q_PROPERTY(QString reason READ reason)
324
325public:
326 Q_INVOKABLE explicit IrcKickMessage(IrcConnection* connection);
327
328 QString channel() const;
329 QString user() const;
330 QString reason() const;
331
332 bool isValid() const override;
333
334private:
335 Q_DISABLE_COPY(IrcKickMessage)
336};
337
338class IRC_CORE_EXPORT IrcModeMessage : public IrcMessage
339{
340 Q_OBJECT
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)
347 Q_ENUMS(Kind)
348
349public:
350 Q_INVOKABLE explicit IrcModeMessage(IrcConnection* connection);
351
352 QString target() const;
353 QString mode() const;
354 QString argument() const;
355 QStringList arguments() const;
356 bool isReply() const;
357
358 enum Kind { Channel, User };
359 Kind kind() const;
360
361 bool isValid() const override;
362
363private:
364 Q_DISABLE_COPY(IrcModeMessage)
365};
366
367class IRC_CORE_EXPORT IrcMotdMessage : public IrcMessage
368{
369 Q_OBJECT
370 Q_PROPERTY(QStringList lines READ lines)
371
372public:
373 Q_INVOKABLE explicit IrcMotdMessage(IrcConnection* connection);
374
375 QStringList lines() const;
376
377 bool isValid() const override;
378
379private:
380 Q_DISABLE_COPY(IrcMotdMessage)
381};
382
383class IRC_CORE_EXPORT IrcNamesMessage : public IrcMessage
384{
385 Q_OBJECT
386 Q_PROPERTY(QString channel READ channel)
387 Q_PROPERTY(QStringList names READ names)
388
389public:
390 Q_INVOKABLE explicit IrcNamesMessage(IrcConnection* connection);
391
392 QString channel() const;
393 QStringList names() const;
394
395 bool isValid() const override;
396
397private:
398 Q_DISABLE_COPY(IrcNamesMessage)
399};
400
401class IRC_CORE_EXPORT IrcNickMessage : public IrcMessage
402{
403 Q_OBJECT
404 Q_PROPERTY(QString oldNick READ oldNick)
405 Q_PROPERTY(QString newNick READ newNick)
406
407public:
408 Q_INVOKABLE explicit IrcNickMessage(IrcConnection* connection);
409
410 QString oldNick() const;
411 QString newNick() const;
412
413 bool isValid() const override;
414
415private:
416 Q_DISABLE_COPY(IrcNickMessage)
417};
418
419class IRC_CORE_EXPORT IrcNoticeMessage : public IrcMessage
420{
421 Q_OBJECT
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)
427
428public:
429 Q_INVOKABLE explicit IrcNoticeMessage(IrcConnection* connection);
430
431 QString target() const;
432 QString content() const;
433 QString statusPrefix() const;
434 bool isPrivate() const;
435 bool isReply() const;
436
437 bool isValid() const override;
438
439private:
440 Q_DISABLE_COPY(IrcNoticeMessage)
441};
442
443class IRC_CORE_EXPORT IrcNumericMessage : public IrcMessage
444{
445 Q_OBJECT
446 Q_PROPERTY(int code READ code)
447 Q_PROPERTY(bool composed READ isComposed)
448
449public:
450 Q_INVOKABLE explicit IrcNumericMessage(IrcConnection* connection);
451
452 int code() const;
453 bool isComposed() const;
454
455 bool isValid() const override;
456
457private:
458 Q_DISABLE_COPY(IrcNumericMessage)
459};
460
461class IRC_CORE_EXPORT IrcPartMessage : public IrcMessage
462{
463 Q_OBJECT
464 Q_PROPERTY(QString channel READ channel)
465 Q_PROPERTY(QString reason READ reason)
466
467public:
468 Q_INVOKABLE explicit IrcPartMessage(IrcConnection* connection);
469
470 QString channel() const;
471 QString reason() const;
472
473 bool isValid() const override;
474
475private:
476 Q_DISABLE_COPY(IrcPartMessage)
477};
478
479class IRC_CORE_EXPORT IrcPingMessage : public IrcMessage
480{
481 Q_OBJECT
482 Q_PROPERTY(QString argument READ argument)
483
484public:
485 Q_INVOKABLE explicit IrcPingMessage(IrcConnection* connection);
486
487 QString argument() const;
488
489 bool isValid() const override;
490
491private:
492 Q_DISABLE_COPY(IrcPingMessage)
493};
494
495class IRC_CORE_EXPORT IrcPongMessage : public IrcMessage
496{
497 Q_OBJECT
498 Q_PROPERTY(QString argument READ argument)
499
500public:
501 Q_INVOKABLE explicit IrcPongMessage(IrcConnection* connection);
502
503 QString argument() const;
504
505 bool isValid() const override;
506
507private:
508 Q_DISABLE_COPY(IrcPongMessage)
509};
510
511class IRC_CORE_EXPORT IrcPrivateMessage : public IrcMessage
512{
513 Q_OBJECT
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)
520
521public:
522 Q_INVOKABLE explicit IrcPrivateMessage(IrcConnection* connection);
523
524 QString target() const;
525 QString content() const;
526 QString statusPrefix() const;
527 bool isPrivate() const;
528 bool isAction() const;
529 bool isRequest() const;
530
531 bool isValid() const override;
532
533private:
534 Q_DISABLE_COPY(IrcPrivateMessage)
535};
536
537class IRC_CORE_EXPORT IrcQuitMessage : public IrcMessage
538{
539 Q_OBJECT
540 Q_PROPERTY(QString reason READ reason)
541
542public:
543 Q_INVOKABLE explicit IrcQuitMessage(IrcConnection* connection);
544
545 QString reason() const;
546
547 bool isValid() const override;
548
549private:
550 Q_DISABLE_COPY(IrcQuitMessage)
551};
552
553class IRC_CORE_EXPORT IrcTopicMessage : public IrcMessage
554{
555 Q_OBJECT
556 Q_PROPERTY(QString channel READ channel)
557 Q_PROPERTY(QString topic READ topic)
558 Q_PROPERTY(bool reply READ isReply)
559
560public:
561 Q_INVOKABLE explicit IrcTopicMessage(IrcConnection* connection);
562
563 QString channel() const;
564 QString topic() const;
565 bool isReply() const;
566
567 bool isValid() const override;
568
569private:
570 Q_DISABLE_COPY(IrcTopicMessage)
571};
572
573class IRC_CORE_EXPORT IrcWhoisMessage : public IrcMessage
574{
575 Q_OBJECT
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)
586
587public:
588 Q_INVOKABLE explicit IrcWhoisMessage(IrcConnection* connection);
589
590 QString realName() const;
591 QString server() const;
592 QString info() const;
593 QString account() const;
594 QString address() const;
595 QDateTime since() const;
596 int idle() const;
597 bool isSecure() const;
598 QStringList channels() const;
599 QString awayReason() const;
600
601 bool isValid() const override;
602
603private:
604 Q_DISABLE_COPY(IrcWhoisMessage)
605};
606
607class IRC_CORE_EXPORT IrcWhowasMessage : public IrcMessage
608{
609 Q_OBJECT
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)
614
615public:
616 Q_INVOKABLE explicit IrcWhowasMessage(IrcConnection* connection);
617
618 QString realName() const;
619 QString server() const;
620 QString info() const;
621 QString account() const;
622
623 bool isValid() const override;
624
625private:
626 Q_DISABLE_COPY(IrcWhowasMessage)
627};
628
629class IRC_CORE_EXPORT IrcWhoReplyMessage : public IrcMessage
630{
631 Q_OBJECT
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)
637
638public:
639 Q_INVOKABLE explicit IrcWhoReplyMessage(IrcConnection* connection);
640
641 QString mask() const;
642 QString server() const;
643 bool isAway() const;
644 bool isServOp() const;
645 QString realName() const;
646
647 bool isValid() const override;
648
649private:
650 Q_DISABLE_COPY(IrcWhoReplyMessage)
651};
652
653#ifndef QT_NO_DEBUG_STREAM
654IRC_CORE_EXPORT QDebug operator<<(QDebug debug, IrcMessage::Type type);
655IRC_CORE_EXPORT QDebug operator<<(QDebug debug, IrcMessage::Flag flag);
656IRC_CORE_EXPORT QDebug operator<<(QDebug debug, IrcMessage::Flags flags);
657IRC_CORE_EXPORT QDebug operator<<(QDebug debug, IrcModeMessage::Kind kind);
658IRC_CORE_EXPORT QDebug operator<<(QDebug debug, const IrcMessage* message);
659#endif // QT_NO_DEBUG_STREAM
660
661IRC_END_NAMESPACE
662
663Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcMessage::Type))
664Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcMessage*))
665Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcAccountMessage*))
666Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcAwayMessage*))
667Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcBatchMessage*))
668Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcCapabilityMessage*))
669Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcErrorMessage*))
670Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcHostChangeMessage*))
671Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcInviteMessage*))
672Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcJoinMessage*))
673Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcKickMessage*))
674Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcModeMessage*))
675Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcMotdMessage*))
676Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcNamesMessage*))
677Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcNickMessage*))
678Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcNoticeMessage*))
679Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcNumericMessage*))
680Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcPartMessage*))
681Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcPingMessage*))
682Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcPongMessage*))
683Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcPrivateMessage*))
684Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcQuitMessage*))
685Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcTopicMessage*))
686Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcWhoisMessage*))
687Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcWhowasMessage*))
688Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcWhoReplyMessage*))
689
690#endif // IRCMESSAGE_H
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
@ Whowas
A whowas reply message (IrcWhowasMessage).
Definition ircmessage.h:93
@ Join
A join message (IrcJoinMessage).
Definition ircmessage.h:75
@ Notice
A notice message (IrcNoticeMessage).
Definition ircmessage.h:81
@ Quit
A quit message (IrcQuitMessage).
Definition ircmessage.h:87
@ Kick
A kick message (IrcKickMessage).
Definition ircmessage.h:76
@ Account
An account notify message (IrcAccountMessage).
Definition ircmessage.h:90
@ Away
An away message (IrcAwayMessage).
Definition ircmessage.h:91
@ Ping
A ping message (IrcPingMessage).
Definition ircmessage.h:84
@ Numeric
A numeric message (IrcNumericMessage).
Definition ircmessage.h:82
@ Pong
A pong message (IrcPongMessage).
Definition ircmessage.h:85
@ Whois
A whois reply message (IrcWhoisMessage).
Definition ircmessage.h:92
@ Part
A part message (IrcPartMessage).
Definition ircmessage.h:83
@ Names
A names message (IrcNamesMessage).
Definition ircmessage.h:79
@ Capability
A capability message (IrcCapabilityMessage).
Definition ircmessage.h:72
@ HostChange
A host change message (IrcHostChangeMessage).
Definition ircmessage.h:94
@ Invite
An invite message (IrcInviteMessage).
Definition ircmessage.h:74
@ Private
A private message (IrcPrivateMessage).
Definition ircmessage.h:86
@ Unknown
An unknown message (IrcMessage).
Definition ircmessage.h:71
@ Motd
A message of the day (IrcMotdMessage).
Definition ircmessage.h:78
@ Nick
A nick message (IrcNickMessage).
Definition ircmessage.h:80
@ Mode
A mode message (IrcModeMessage).
Definition ircmessage.h:77
@ Topic
A topic message (IrcTopicMessage).
Definition ircmessage.h:88
@ WhoReply
A who reply message (IrcWhoReplyMessage).
Definition ircmessage.h:89
@ Error
An error message (IrcErrorMessage).
Definition ircmessage.h:73
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