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