Communi  3.4.0
A cross-platform IRC framework written with Qt
ircmessage.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2008-2015 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 
40 IRC_BEGIN_NAMESPACE
41 
42 class IrcCommand;
43 class IrcNetwork;
44 class IrcConnection;
45 class IrcMessagePrivate;
46 
47 class 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(Flags flags READ flags)
55  Q_PROPERTY(bool valid READ isValid)
56  Q_PROPERTY(QString command READ command)
57  Q_PROPERTY(QString prefix READ prefix WRITE setPrefix)
58  Q_PROPERTY(QString nick READ nick)
59  Q_PROPERTY(QString ident READ ident)
60  Q_PROPERTY(QString host READ host)
61  Q_PROPERTY(QString account READ account)
62  Q_PROPERTY(QStringList parameters READ parameters WRITE setParameters)
63  Q_PROPERTY(QDateTime timeStamp READ timeStamp WRITE setTimeStamp)
64  Q_PROPERTY(QVariantMap tags READ tags WRITE setTags)
65  Q_ENUMS(Type Flag)
66  Q_FLAGS(Flags)
67 
68 public:
69  enum Type {
93  HostChange
94  };
95 
96  enum Flag {
97  None = 0x00,
98  Own = 0x01,
99  Identified = 0x02,
100  Unidentified = 0x04,
101  Playback = 0x08,
102  Implicit = 0x10
103  };
104  Q_DECLARE_FLAGS(Flags, Flag)
105 
106  Q_INVOKABLE explicit IrcMessage(IrcConnection* connection);
107  virtual ~IrcMessage();
108 
109  IrcConnection* connection() const;
110  IrcNetwork* network() const;
111 
112  Type type() const;
113  bool isOwn() const;
114 
115  Flags flags() const;
116  void setFlags(Flags flags);
117 
118  QString command() const;
119  void setCommand(const QString& command);
120 
121  QString prefix() const;
122  void setPrefix(const QString& prefix);
123 
124  QString nick() const;
125  QString ident() const;
126  QString host() const;
127  QString account() const;
128 
129  QStringList parameters() const;
130  void setParameters(const QStringList& parameters);
131 
132  virtual bool isValid() const;
133 
134  QDateTime timeStamp() const;
135  void setTimeStamp(const QDateTime& timeStamp);
136 
137  QByteArray encoding() const;
138  void setEncoding(const QByteArray& encoding);
139 
140  QVariantMap tags() const;
141  void setTags(const QVariantMap& tags);
142 
143  Q_INVOKABLE QByteArray toData() const;
144  Q_INVOKABLE static IrcMessage* fromData(const QByteArray& data, IrcConnection* connection);
145  Q_INVOKABLE static IrcMessage* fromParameters(const QString& prefix, const QString& command, const QStringList& parameters, IrcConnection* connection);
146 
147 protected:
148  QScopedPointer<IrcMessagePrivate> d_ptr;
149  Q_DECLARE_PRIVATE(IrcMessage)
150  Q_DISABLE_COPY(IrcMessage)
151 };
152 
153 Q_DECLARE_OPERATORS_FOR_FLAGS(IrcMessage::Flags)
154 
155 class IRC_CORE_EXPORT IrcAccountMessage : public IrcMessage
156 {
157  Q_OBJECT
158  Q_PROPERTY(QString account READ account)
159 
160 public:
161  Q_INVOKABLE explicit IrcAccountMessage(IrcConnection* connection);
162 
163  QString account() const;
164 
165  bool isValid() const;
166 
167 private:
168  Q_DISABLE_COPY(IrcAccountMessage)
169 };
170 
171 class IRC_CORE_EXPORT IrcAwayMessage : public IrcMessage
172 {
173  Q_OBJECT
174  Q_PROPERTY(QString content READ content)
175  Q_PROPERTY(bool reply READ isReply)
176  Q_PROPERTY(bool away READ isAway)
177 
178 public:
179  Q_INVOKABLE explicit IrcAwayMessage(IrcConnection* connection);
180 
181  QString content() const;
182  bool isReply() const;
183  bool isAway() const;
184 
185  bool isValid() const;
186 
187 private:
188  Q_DISABLE_COPY(IrcAwayMessage)
189 };
190 
191 class IRC_CORE_EXPORT IrcCapabilityMessage : public IrcMessage
192 {
193  Q_OBJECT
194  Q_PROPERTY(QString subCommand READ subCommand)
195  Q_PROPERTY(QStringList capabilities READ capabilities)
196 
197 public:
198  Q_INVOKABLE explicit IrcCapabilityMessage(IrcConnection* connection);
199 
200  QString subCommand() const;
201  QStringList capabilities() const;
202 
203  bool isValid() const;
204 
205 private:
206  Q_DISABLE_COPY(IrcCapabilityMessage)
207 };
208 
209 class IRC_CORE_EXPORT IrcErrorMessage : public IrcMessage
210 {
211  Q_OBJECT
212  Q_PROPERTY(QString error READ error)
213 
214 public:
215  Q_INVOKABLE explicit IrcErrorMessage(IrcConnection* connection);
216 
217  QString error() const;
218 
219  bool isValid() const;
220 
221 private:
222  Q_DISABLE_COPY(IrcErrorMessage)
223 };
224 
225 class IRC_CORE_EXPORT IrcHostChangeMessage : public IrcMessage
226 {
227  Q_OBJECT
228  Q_PROPERTY(QString user READ user)
229  Q_PROPERTY(QString host READ host)
230 
231 public:
232  Q_INVOKABLE explicit IrcHostChangeMessage(IrcConnection* connection);
233 
234  QString user() const;
235  QString host() const;
236 
237  bool isValid() const;
238 
239 private:
240  Q_DISABLE_COPY(IrcHostChangeMessage)
241 };
242 
243 class IRC_CORE_EXPORT IrcInviteMessage : public IrcMessage
244 {
245  Q_OBJECT
246  Q_PROPERTY(QString user READ user)
247  Q_PROPERTY(QString channel READ channel)
248  Q_PROPERTY(bool reply READ isReply)
249 
250 public:
251  Q_INVOKABLE explicit IrcInviteMessage(IrcConnection* connection);
252 
253  QString user() const;
254  QString channel() const;
255  bool isReply() const;
256 
257  bool isValid() const;
258 
259 private:
260  Q_DISABLE_COPY(IrcInviteMessage)
261 };
262 
263 class IRC_CORE_EXPORT IrcJoinMessage : public IrcMessage
264 {
265  Q_OBJECT
266  Q_PROPERTY(QString channel READ channel)
267  Q_PROPERTY(QString account READ account)
268  Q_PROPERTY(QString realName READ realName)
269 
270 public:
271  Q_INVOKABLE explicit IrcJoinMessage(IrcConnection* connection);
272 
273  QString channel() const;
274  QString account() const;
275  QString realName() const;
276 
277  bool isValid() const;
278 
279 private:
280  Q_DISABLE_COPY(IrcJoinMessage)
281 };
282 
283 class IRC_CORE_EXPORT IrcKickMessage : public IrcMessage
284 {
285  Q_OBJECT
286  Q_PROPERTY(QString channel READ channel)
287  Q_PROPERTY(QString user READ user)
288  Q_PROPERTY(QString reason READ reason)
289 
290 public:
291  Q_INVOKABLE explicit IrcKickMessage(IrcConnection* connection);
292 
293  QString channel() const;
294  QString user() const;
295  QString reason() const;
296 
297  bool isValid() const;
298 
299 private:
300  Q_DISABLE_COPY(IrcKickMessage)
301 };
302 
303 class IRC_CORE_EXPORT IrcModeMessage : public IrcMessage
304 {
305  Q_OBJECT
306  Q_PROPERTY(QString target READ target)
307  Q_PROPERTY(QString mode READ mode)
308  Q_PROPERTY(QString argument READ argument)
309  Q_PROPERTY(QStringList arguments READ arguments)
310  Q_PROPERTY(bool reply READ isReply)
311  Q_PROPERTY(Kind kind READ kind)
312  Q_ENUMS(Kind)
313 
314 public:
315  Q_INVOKABLE explicit IrcModeMessage(IrcConnection* connection);
316 
317  QString target() const;
318  QString mode() const;
319  QString argument() const;
320  QStringList arguments() const;
321  bool isReply() const;
322 
323  enum Kind { Channel, User };
324  Kind kind() const;
325 
326  bool isValid() const;
327 
328 private:
329  Q_DISABLE_COPY(IrcModeMessage)
330 };
331 
332 class IRC_CORE_EXPORT IrcMotdMessage : public IrcMessage
333 {
334  Q_OBJECT
335  Q_PROPERTY(QStringList lines READ lines)
336 
337 public:
338  Q_INVOKABLE explicit IrcMotdMessage(IrcConnection* connection);
339 
340  QStringList lines() const;
341 
342  bool isValid() const;
343 
344 private:
345  Q_DISABLE_COPY(IrcMotdMessage)
346 };
347 
348 class IRC_CORE_EXPORT IrcNamesMessage : public IrcMessage
349 {
350  Q_OBJECT
351  Q_PROPERTY(QString channel READ channel)
352  Q_PROPERTY(QStringList names READ names)
353 
354 public:
355  Q_INVOKABLE explicit IrcNamesMessage(IrcConnection* connection);
356 
357  QString channel() const;
358  QStringList names() const;
359 
360  bool isValid() const;
361 
362 private:
363  Q_DISABLE_COPY(IrcNamesMessage)
364 };
365 
366 class IRC_CORE_EXPORT IrcNickMessage : public IrcMessage
367 {
368  Q_OBJECT
369  Q_PROPERTY(QString oldNick READ oldNick)
370  Q_PROPERTY(QString newNick READ newNick)
371 
372 public:
373  Q_INVOKABLE explicit IrcNickMessage(IrcConnection* connection);
374 
375  QString oldNick() const;
376  QString newNick() const;
377 
378  bool isValid() const;
379 
380 private:
381  Q_DISABLE_COPY(IrcNickMessage)
382 };
383 
384 class IRC_CORE_EXPORT IrcNoticeMessage : public IrcMessage
385 {
386  Q_OBJECT
387  Q_PROPERTY(QString target READ target)
388  Q_PROPERTY(QString content READ content)
389  Q_PROPERTY(QString statusPrefix READ statusPrefix)
390  Q_PROPERTY(bool private READ isPrivate)
391  Q_PROPERTY(bool reply READ isReply)
392 
393 public:
394  Q_INVOKABLE explicit IrcNoticeMessage(IrcConnection* connection);
395 
396  QString target() const;
397  QString content() const;
398  QString statusPrefix() const;
399  bool isPrivate() const;
400  bool isReply() const;
401 
402  bool isValid() const;
403 
404 private:
405  Q_DISABLE_COPY(IrcNoticeMessage)
406 };
407 
408 class IRC_CORE_EXPORT IrcNumericMessage : public IrcMessage
409 {
410  Q_OBJECT
411  Q_PROPERTY(int code READ code)
412  Q_PROPERTY(bool composed READ isComposed)
413 
414 public:
415  Q_INVOKABLE explicit IrcNumericMessage(IrcConnection* connection);
416 
417  int code() const;
418  bool isComposed() const;
419 
420  bool isValid() const;
421 
422 private:
423  Q_DISABLE_COPY(IrcNumericMessage)
424 };
425 
426 class IRC_CORE_EXPORT IrcPartMessage : public IrcMessage
427 {
428  Q_OBJECT
429  Q_PROPERTY(QString channel READ channel)
430  Q_PROPERTY(QString reason READ reason)
431 
432 public:
433  Q_INVOKABLE explicit IrcPartMessage(IrcConnection* connection);
434 
435  QString channel() const;
436  QString reason() const;
437 
438  bool isValid() const;
439 
440 private:
441  Q_DISABLE_COPY(IrcPartMessage)
442 };
443 
444 class IRC_CORE_EXPORT IrcPingMessage : public IrcMessage
445 {
446  Q_OBJECT
447  Q_PROPERTY(QString argument READ argument)
448 
449 public:
450  Q_INVOKABLE explicit IrcPingMessage(IrcConnection* connection);
451 
452  QString argument() const;
453 
454  bool isValid() const;
455 
456 private:
457  Q_DISABLE_COPY(IrcPingMessage)
458 };
459 
460 class IRC_CORE_EXPORT IrcPongMessage : public IrcMessage
461 {
462  Q_OBJECT
463  Q_PROPERTY(QString argument READ argument)
464 
465 public:
466  Q_INVOKABLE explicit IrcPongMessage(IrcConnection* connection);
467 
468  QString argument() const;
469 
470  bool isValid() const;
471 
472 private:
473  Q_DISABLE_COPY(IrcPongMessage)
474 };
475 
476 class IRC_CORE_EXPORT IrcPrivateMessage : public IrcMessage
477 {
478  Q_OBJECT
479  Q_PROPERTY(QString target READ target)
480  Q_PROPERTY(QString content READ content)
481  Q_PROPERTY(QString statusPrefix READ statusPrefix)
482  Q_PROPERTY(bool private READ isPrivate)
483  Q_PROPERTY(bool action READ isAction)
484  Q_PROPERTY(bool request READ isRequest)
485 
486 public:
487  Q_INVOKABLE explicit IrcPrivateMessage(IrcConnection* connection);
488 
489  QString target() const;
490  QString content() const;
491  QString statusPrefix() const;
492  bool isPrivate() const;
493  bool isAction() const;
494  bool isRequest() const;
495 
496  bool isValid() const;
497 
498 private:
499  Q_DISABLE_COPY(IrcPrivateMessage)
500 };
501 
502 class IRC_CORE_EXPORT IrcQuitMessage : public IrcMessage
503 {
504  Q_OBJECT
505  Q_PROPERTY(QString reason READ reason)
506 
507 public:
508  Q_INVOKABLE explicit IrcQuitMessage(IrcConnection* connection);
509 
510  QString reason() const;
511 
512  bool isValid() const;
513 
514 private:
515  Q_DISABLE_COPY(IrcQuitMessage)
516 };
517 
518 class IRC_CORE_EXPORT IrcTopicMessage : public IrcMessage
519 {
520  Q_OBJECT
521  Q_PROPERTY(QString channel READ channel)
522  Q_PROPERTY(QString topic READ topic)
523  Q_PROPERTY(bool reply READ isReply)
524 
525 public:
526  Q_INVOKABLE explicit IrcTopicMessage(IrcConnection* connection);
527 
528  QString channel() const;
529  QString topic() const;
530  bool isReply() const;
531 
532  bool isValid() const;
533 
534 private:
535  Q_DISABLE_COPY(IrcTopicMessage)
536 };
537 
538 class IRC_CORE_EXPORT IrcWhoisMessage : public IrcMessage
539 {
540  Q_OBJECT
541  Q_PROPERTY(QString realName READ realName)
542  Q_PROPERTY(QString server READ server)
543  Q_PROPERTY(QString info READ info)
544  Q_PROPERTY(QString account READ account)
545  Q_PROPERTY(QString address READ address)
546  Q_PROPERTY(QDateTime since READ since)
547  Q_PROPERTY(int idle READ idle)
548  Q_PROPERTY(bool secure READ isSecure)
549  Q_PROPERTY(QStringList channels READ channels)
550 
551 public:
552  Q_INVOKABLE explicit IrcWhoisMessage(IrcConnection* connection);
553 
554  QString realName() const;
555  QString server() const;
556  QString info() const;
557  QString account() const;
558  QString address() const;
559  QDateTime since() const;
560  int idle() const;
561  bool isSecure() const;
562  QString from() const;
563  QStringList channels() const;
564 
565  bool isValid() const;
566 
567 private:
568  Q_DISABLE_COPY(IrcWhoisMessage)
569 };
570 
571 class IRC_CORE_EXPORT IrcWhowasMessage : public IrcMessage
572 {
573  Q_OBJECT
574  Q_PROPERTY(QString realName READ realName)
575  Q_PROPERTY(QString server READ server)
576  Q_PROPERTY(QString info READ info)
577  Q_PROPERTY(QString account READ account)
578 
579 public:
580  Q_INVOKABLE explicit IrcWhowasMessage(IrcConnection* connection);
581 
582  QString realName() const;
583  QString server() const;
584  QString info() const;
585  QString account() const;
586 
587  bool isValid() const;
588 
589 private:
590  Q_DISABLE_COPY(IrcWhowasMessage)
591 };
592 
593 class IRC_CORE_EXPORT IrcWhoReplyMessage : public IrcMessage
594 {
595  Q_OBJECT
596  Q_PROPERTY(QString mask READ mask)
597  Q_PROPERTY(QString server READ server)
598  Q_PROPERTY(bool away READ isAway)
599  Q_PROPERTY(bool servOp READ isServOp)
600  Q_PROPERTY(QString realName READ realName)
601 
602 public:
603  Q_INVOKABLE explicit IrcWhoReplyMessage(IrcConnection* connection);
604 
605  QString mask() const;
606  QString server() const;
607  bool isAway() const;
608  bool isServOp() const;
609  QString realName() const;
610 
611  bool isValid() const;
612 
613 private:
614  Q_DISABLE_COPY(IrcWhoReplyMessage)
615 };
616 
617 #ifndef QT_NO_DEBUG_STREAM
618 IRC_CORE_EXPORT QDebug operator<<(QDebug debug, IrcMessage::Type type);
619 IRC_CORE_EXPORT QDebug operator<<(QDebug debug, IrcMessage::Flag flag);
620 IRC_CORE_EXPORT QDebug operator<<(QDebug debug, IrcMessage::Flags flags);
621 IRC_CORE_EXPORT QDebug operator<<(QDebug debug, IrcModeMessage::Kind kind);
622 IRC_CORE_EXPORT QDebug operator<<(QDebug debug, const IrcMessage* message);
623 #endif // QT_NO_DEBUG_STREAM
624 
625 IRC_END_NAMESPACE
626 
627 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcMessage::Type))
628 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcMessage*))
629 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcAccountMessage*))
630 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcAwayMessage*))
631 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcCapabilityMessage*))
632 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcErrorMessage*))
633 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcHostChangeMessage*))
634 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcInviteMessage*))
635 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcJoinMessage*))
636 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcKickMessage*))
637 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcModeMessage*))
638 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcMotdMessage*))
639 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcNamesMessage*))
640 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcNickMessage*))
641 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcNoticeMessage*))
642 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcNumericMessage*))
643 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcPartMessage*))
644 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcPingMessage*))
645 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcPongMessage*))
646 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcPrivateMessage*))
647 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcQuitMessage*))
648 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcTopicMessage*))
649 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcWhoisMessage*))
650 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcWhowasMessage*))
651 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcWhoReplyMessage*))
652 
653 #endif // IRCMESSAGE_H
Represents an invite message.
Definition: ircmessage.h:243
Represents a private message.
Definition: ircmessage.h:476
Represents a names list message.
Definition: ircmessage.h:348
An invite message (IrcInviteMessage).
Definition: ircmessage.h:73
Represents a reply message to a WHOIS command.
Definition: ircmessage.h:538
Provides means to establish a connection to an IRC server.
Definition: ircconnection.h:48
Flag
Definition: ircmessage.h:96
Represents a host change message.
Definition: ircmessage.h:225
Provides network information and capability management.
Definition: ircnetwork.h:43
Represents a reply message to a WHOWAS command.
Definition: ircmessage.h:571
A who reply message (IrcWhoReplyMessage).
Definition: ircmessage.h:88
Represents a numeric message.
Definition: ircmessage.h:408
A topic message (IrcTopicMessage).
Definition: ircmessage.h:87
A capability message (IrcCapabilityMessage).
Definition: ircmessage.h:71
Represents an error message.
Definition: ircmessage.h:209
A names message (IrcNamesMessage).
Definition: ircmessage.h:78
Represents a quit message.
Definition: ircmessage.h:502
Represents a join message.
Definition: ircmessage.h:263
Represents a pong message.
Definition: ircmessage.h:460
Represents a nick message.
Definition: ircmessage.h:366
A kick message (IrcKickMessage).
Definition: ircmessage.h:75
Represents a ping message.
Definition: ircmessage.h:444
An error message (IrcErrorMessage).
Definition: ircmessage.h:72
An unknown message (IrcMessage).
Definition: ircmessage.h:70
A message of the day (IrcMotdMessage).
Definition: ircmessage.h:77
A ping message (IrcPingMessage).
Definition: ircmessage.h:83
A private message (IrcPrivateMessage).
Definition: ircmessage.h:85
An away message (IrcAwayMessage).
Definition: ircmessage.h:90
A numeric message (IrcNumericMessage).
Definition: ircmessage.h:81
A whowas reply message (IrcWhowasMessage).
Definition: ircmessage.h:92
A quit message (IrcQuitMessage).
Definition: ircmessage.h:86
A whois reply message (IrcWhoisMessage).
Definition: ircmessage.h:91
Provides the most common commands.
Definition: irccommand.h:43
Kind
Definition: ircmessage.h:323
Represents a kick message.
Definition: ircmessage.h:283
Represents a reply message to a WHO command.
Definition: ircmessage.h:593
Type
Definition: ircmessage.h:69
Represents a capability message.
Definition: ircmessage.h:191
Represents an account notify message.
Definition: ircmessage.h:155
Represents a part message.
Definition: ircmessage.h:426
Represents a topic message.
Definition: ircmessage.h:518
The base class of all messages.
Definition: ircmessage.h:47
Represents an away message.
Definition: ircmessage.h:171
A join message (IrcJoinMessage).
Definition: ircmessage.h:74
Represents a mode message.
Definition: ircmessage.h:303
A nick message (IrcNickMessage).
Definition: ircmessage.h:79
Represents a message of the day.
Definition: ircmessage.h:332
An account notify message (IrcAccountMessage).
Definition: ircmessage.h:89
A mode message (IrcModeMessage).
Definition: ircmessage.h:76
Represents a notice message.
Definition: ircmessage.h:384
A pong message (IrcPongMessage).
Definition: ircmessage.h:84
A part message (IrcPartMessage).
Definition: ircmessage.h:82
A notice message (IrcNoticeMessage).
Definition: ircmessage.h:80