Communi  3.5.0
A cross-platform IRC framework written with Qt
ircmessage.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2008-2016 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(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 
69 public:
70  enum Type {
95  Batch
96  };
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  virtual ~IrcMessage();
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 = 0) const;
160 
161 protected:
162  QScopedPointer<IrcMessagePrivate> d_ptr;
163  Q_DECLARE_PRIVATE(IrcMessage)
164  Q_DISABLE_COPY(IrcMessage)
165 };
166 
167 Q_DECLARE_OPERATORS_FOR_FLAGS(IrcMessage::Flags)
168 
169 class IRC_CORE_EXPORT IrcAccountMessage : public IrcMessage
170 {
171  Q_OBJECT
172  Q_PROPERTY(QString account READ account)
173 
174 public:
175  Q_INVOKABLE explicit IrcAccountMessage(IrcConnection* connection);
176 
177  QString account() const;
178 
179  bool isValid() const;
180 
181 private:
182  Q_DISABLE_COPY(IrcAccountMessage)
183 };
184 
185 class 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 
192 public:
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;
200 
201 private:
202  Q_DISABLE_COPY(IrcAwayMessage)
203 };
204 
205 class 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 
212 public:
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;
221 
222 private:
223  Q_DISABLE_COPY(IrcBatchMessage)
224 };
225 
226 class 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 
232 public:
233  Q_INVOKABLE explicit IrcCapabilityMessage(IrcConnection* connection);
234 
235  QString subCommand() const;
236  QStringList capabilities() const;
237 
238  bool isValid() const;
239 
240 private:
241  Q_DISABLE_COPY(IrcCapabilityMessage)
242 };
243 
244 class IRC_CORE_EXPORT IrcErrorMessage : public IrcMessage
245 {
246  Q_OBJECT
247  Q_PROPERTY(QString error READ error)
248 
249 public:
250  Q_INVOKABLE explicit IrcErrorMessage(IrcConnection* connection);
251 
252  QString error() const;
253 
254  bool isValid() const;
255 
256 private:
257  Q_DISABLE_COPY(IrcErrorMessage)
258 };
259 
260 class 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 
266 public:
267  Q_INVOKABLE explicit IrcHostChangeMessage(IrcConnection* connection);
268 
269  QString user() const;
270  QString host() const;
271 
272  bool isValid() const;
273 
274 private:
275  Q_DISABLE_COPY(IrcHostChangeMessage)
276 };
277 
278 class 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 
285 public:
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;
293 
294 private:
295  Q_DISABLE_COPY(IrcInviteMessage)
296 };
297 
298 class 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 
305 public:
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;
313 
314 private:
315  Q_DISABLE_COPY(IrcJoinMessage)
316 };
317 
318 class 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 
325 public:
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;
333 
334 private:
335  Q_DISABLE_COPY(IrcKickMessage)
336 };
337 
338 class 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 
349 public:
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;
362 
363 private:
364  Q_DISABLE_COPY(IrcModeMessage)
365 };
366 
367 class IRC_CORE_EXPORT IrcMotdMessage : public IrcMessage
368 {
369  Q_OBJECT
370  Q_PROPERTY(QStringList lines READ lines)
371 
372 public:
373  Q_INVOKABLE explicit IrcMotdMessage(IrcConnection* connection);
374 
375  QStringList lines() const;
376 
377  bool isValid() const;
378 
379 private:
380  Q_DISABLE_COPY(IrcMotdMessage)
381 };
382 
383 class 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 
389 public:
390  Q_INVOKABLE explicit IrcNamesMessage(IrcConnection* connection);
391 
392  QString channel() const;
393  QStringList names() const;
394 
395  bool isValid() const;
396 
397 private:
398  Q_DISABLE_COPY(IrcNamesMessage)
399 };
400 
401 class 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 
407 public:
408  Q_INVOKABLE explicit IrcNickMessage(IrcConnection* connection);
409 
410  QString oldNick() const;
411  QString newNick() const;
412 
413  bool isValid() const;
414 
415 private:
416  Q_DISABLE_COPY(IrcNickMessage)
417 };
418 
419 class 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 
428 public:
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;
438 
439 private:
440  Q_DISABLE_COPY(IrcNoticeMessage)
441 };
442 
443 class 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 
449 public:
450  Q_INVOKABLE explicit IrcNumericMessage(IrcConnection* connection);
451 
452  int code() const;
453  bool isComposed() const;
454 
455  bool isValid() const;
456 
457 private:
458  Q_DISABLE_COPY(IrcNumericMessage)
459 };
460 
461 class 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 
467 public:
468  Q_INVOKABLE explicit IrcPartMessage(IrcConnection* connection);
469 
470  QString channel() const;
471  QString reason() const;
472 
473  bool isValid() const;
474 
475 private:
476  Q_DISABLE_COPY(IrcPartMessage)
477 };
478 
479 class IRC_CORE_EXPORT IrcPingMessage : public IrcMessage
480 {
481  Q_OBJECT
482  Q_PROPERTY(QString argument READ argument)
483 
484 public:
485  Q_INVOKABLE explicit IrcPingMessage(IrcConnection* connection);
486 
487  QString argument() const;
488 
489  bool isValid() const;
490 
491 private:
492  Q_DISABLE_COPY(IrcPingMessage)
493 };
494 
495 class IRC_CORE_EXPORT IrcPongMessage : public IrcMessage
496 {
497  Q_OBJECT
498  Q_PROPERTY(QString argument READ argument)
499 
500 public:
501  Q_INVOKABLE explicit IrcPongMessage(IrcConnection* connection);
502 
503  QString argument() const;
504 
505  bool isValid() const;
506 
507 private:
508  Q_DISABLE_COPY(IrcPongMessage)
509 };
510 
511 class 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 
521 public:
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;
532 
533 private:
534  Q_DISABLE_COPY(IrcPrivateMessage)
535 };
536 
537 class IRC_CORE_EXPORT IrcQuitMessage : public IrcMessage
538 {
539  Q_OBJECT
540  Q_PROPERTY(QString reason READ reason)
541 
542 public:
543  Q_INVOKABLE explicit IrcQuitMessage(IrcConnection* connection);
544 
545  QString reason() const;
546 
547  bool isValid() const;
548 
549 private:
550  Q_DISABLE_COPY(IrcQuitMessage)
551 };
552 
553 class 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 
560 public:
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;
568 
569 private:
570  Q_DISABLE_COPY(IrcTopicMessage)
571 };
572 
573 class 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 
587 public:
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;
602 
603 private:
604  Q_DISABLE_COPY(IrcWhoisMessage)
605 };
606 
607 class 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 
615 public:
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;
624 
625 private:
626  Q_DISABLE_COPY(IrcWhowasMessage)
627 };
628 
629 class 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 
638 public:
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;
648 
649 private:
650  Q_DISABLE_COPY(IrcWhoReplyMessage)
651 };
652 
653 #ifndef QT_NO_DEBUG_STREAM
654 IRC_CORE_EXPORT QDebug operator<<(QDebug debug, IrcMessage::Type type);
655 IRC_CORE_EXPORT QDebug operator<<(QDebug debug, IrcMessage::Flag flag);
656 IRC_CORE_EXPORT QDebug operator<<(QDebug debug, IrcMessage::Flags flags);
657 IRC_CORE_EXPORT QDebug operator<<(QDebug debug, IrcModeMessage::Kind kind);
658 IRC_CORE_EXPORT QDebug operator<<(QDebug debug, const IrcMessage* message);
659 #endif // QT_NO_DEBUG_STREAM
660 
661 IRC_END_NAMESPACE
662 
663 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcMessage::Type))
664 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcMessage*))
665 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcAccountMessage*))
666 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcAwayMessage*))
667 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcBatchMessage*))
668 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcCapabilityMessage*))
669 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcErrorMessage*))
670 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcHostChangeMessage*))
671 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcInviteMessage*))
672 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcJoinMessage*))
673 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcKickMessage*))
674 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcModeMessage*))
675 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcMotdMessage*))
676 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcNamesMessage*))
677 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcNickMessage*))
678 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcNoticeMessage*))
679 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcNumericMessage*))
680 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcPartMessage*))
681 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcPingMessage*))
682 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcPongMessage*))
683 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcPrivateMessage*))
684 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcQuitMessage*))
685 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcTopicMessage*))
686 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcWhoisMessage*))
687 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcWhowasMessage*))
688 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(IrcWhoReplyMessage*))
689 
690 #endif // IRCMESSAGE_H
Represents an invite message.
Definition: ircmessage.h:278
Represents a private message.
Definition: ircmessage.h:511
A host change message (IrcHostChangeMessage).
Definition: ircmessage.h:94
Represents a names list message.
Definition: ircmessage.h:383
An invite message (IrcInviteMessage).
Definition: ircmessage.h:74
Represents a reply message to a WHOIS command.
Definition: ircmessage.h:573
Provides means to establish a connection to an IRC server.
Definition: ircconnection.h:48
Flag
Definition: ircmessage.h:98
Represents a host change message.
Definition: ircmessage.h:260
Provides network information and capability management.
Definition: ircnetwork.h:43
Represents a batch message.
Definition: ircmessage.h:205
Represents a reply message to a WHOWAS command.
Definition: ircmessage.h:607
A who reply message (IrcWhoReplyMessage).
Definition: ircmessage.h:89
Represents a numeric message.
Definition: ircmessage.h:443
A topic message (IrcTopicMessage).
Definition: ircmessage.h:88
A capability message (IrcCapabilityMessage).
Definition: ircmessage.h:72
Represents an error message.
Definition: ircmessage.h:244
A names message (IrcNamesMessage).
Definition: ircmessage.h:79
Represents a quit message.
Definition: ircmessage.h:537
Represents a join message.
Definition: ircmessage.h:298
Represents a pong message.
Definition: ircmessage.h:495
Represents a nick message.
Definition: ircmessage.h:401
A kick message (IrcKickMessage).
Definition: ircmessage.h:76
Represents a ping message.
Definition: ircmessage.h:479
An error message (IrcErrorMessage).
Definition: ircmessage.h:73
An unknown message (IrcMessage).
Definition: ircmessage.h:71
A message of the day (IrcMotdMessage).
Definition: ircmessage.h:78
A ping message (IrcPingMessage).
Definition: ircmessage.h:84
A private message (IrcPrivateMessage).
Definition: ircmessage.h:86
An away message (IrcAwayMessage).
Definition: ircmessage.h:91
A numeric message (IrcNumericMessage).
Definition: ircmessage.h:82
A whowas reply message (IrcWhowasMessage).
Definition: ircmessage.h:93
A quit message (IrcQuitMessage).
Definition: ircmessage.h:87
A whois reply message (IrcWhoisMessage).
Definition: ircmessage.h:92
Provides the most common commands.
Definition: irccommand.h:44
Kind
Definition: ircmessage.h:358
Represents a kick message.
Definition: ircmessage.h:318
Represents a reply message to a WHO command.
Definition: ircmessage.h:629
Type
Definition: ircmessage.h:70
Represents a capability message.
Definition: ircmessage.h:226
Represents an account notify message.
Definition: ircmessage.h:169
Represents a part message.
Definition: ircmessage.h:461
Represents a topic message.
Definition: ircmessage.h:553
The base class of all messages.
Definition: ircmessage.h:47
Represents an away message.
Definition: ircmessage.h:185
A join message (IrcJoinMessage).
Definition: ircmessage.h:75
Represents a mode message.
Definition: ircmessage.h:338
A nick message (IrcNickMessage).
Definition: ircmessage.h:80
Represents a message of the day.
Definition: ircmessage.h:367
An account notify message (IrcAccountMessage).
Definition: ircmessage.h:90
A mode message (IrcModeMessage).
Definition: ircmessage.h:77
Represents a notice message.
Definition: ircmessage.h:419
A pong message (IrcPongMessage).
Definition: ircmessage.h:85
A part message (IrcPartMessage).
Definition: ircmessage.h:83
A notice message (IrcNoticeMessage).
Definition: ircmessage.h:81