The base class of all messages. More...
Inherits QObject.
Inherited by IrcAccountMessage, IrcAwayMessage, IrcBatchMessage, IrcCapabilityMessage, IrcErrorMessage, IrcHostChangeMessage, IrcInviteMessage, IrcJoinMessage, IrcKickMessage, IrcModeMessage, IrcMotdMessage, IrcNamesMessage, IrcNickMessage, IrcNoticeMessage, IrcNumericMessage, IrcPartMessage, IrcPingMessage, IrcPongMessage, IrcPrivateMessage, IrcQuitMessage, IrcTopicMessage, IrcWhoReplyMessage, IrcWhoisMessage, and IrcWhowasMessage.
Public Types | |
enum | Flag { None = 0x00 , Own = 0x01 , Identified = 0x02 , Unidentified = 0x04 , Playback = 0x08 , Implicit = 0x10 } |
enum | Type { Unknown , Capability , Error , Invite , Join , Kick , Mode , Motd , Names , Nick , Notice , Numeric , Part , Ping , Pong , Private , Quit , Topic , WhoReply , Account , Away , Whois , Whowas , HostChange , Batch } |
Public Member Functions | |
Q_INVOKABLE | IrcMessage (IrcConnection *connection) |
~IrcMessage () override | |
QString | account () const |
Q_INVOKABLE IrcMessage * | clone (QObject *parent=nullptr) const |
QString | command () const |
IrcConnection * | connection () const |
QByteArray | encoding () const |
Flags | flags () const |
QString | host () const |
QString | ident () const |
IrcNetwork * | network () const |
QString | nick () const |
QString | parameter (int index) const |
QStringList | parameters () const |
QString | prefix () const |
Q_INVOKABLE void | setFlag (Flag flag, bool on=true) |
void | setParameter (int index, const QString ¶meter) |
void | setTag (const QString &name, const QVariant &tag) |
QVariant | tag (const QString &name) const |
QVariantMap | tags () const |
Q_INVOKABLE bool | testFlag (Flag flag) const |
QDateTime | timeStamp () const |
Q_INVOKABLE QByteArray | toData () const |
Type | type () const |
Static Public Member Functions | |
static Q_INVOKABLE IrcMessage * | fromData (const QByteArray &data, IrcConnection *connection) |
static Q_INVOKABLE IrcMessage * | fromParameters (const QString &prefix, const QString &command, const QStringList ¶meters, IrcConnection *connection) |
Properties | |
bool | implicit |
bool | own |
bool | valid |
IRC messages are received from an IRC server. IrcConnection translates received messages into IrcMessage instances and emits the IrcConnection::messageReceived() signal upon message received.
Subclasses of IrcMessage contain specialized accessors for parameters that are specific to the particular type of message. See IrcMessage::Type for the list of supported message types.
enum IrcMessage::Flag |
This enum describes the supported message flags.
Enumerator | |
---|---|
None | The message has no flags. |
Own | The message is user's own message. |
Identified | The message is identified.
|
Unidentified | The message is unidentified.
|
Playback | The message is playback.
|
Implicit | The message is an implicit "reply" after joining a channel.
|
enum IrcMessage::Type |
This enum describes the supported message types.
Enumerator | |
---|---|
Unknown | An unknown message (IrcMessage). |
Capability | A capability message (IrcCapabilityMessage).
|
Error | An error message (IrcErrorMessage). |
Invite | An invite message (IrcInviteMessage). |
Join | A join message (IrcJoinMessage). |
Kick | A kick message (IrcKickMessage). |
Mode | A mode message (IrcModeMessage). |
Motd | A message of the day (IrcMotdMessage). |
Names | A names message (IrcNamesMessage). |
Nick | A nick message (IrcNickMessage). |
Notice | A notice message (IrcNoticeMessage). |
Numeric | A numeric message (IrcNumericMessage). |
Part | A part message (IrcPartMessage). |
Ping | A ping message (IrcPingMessage). |
Pong | A pong message (IrcPongMessage). |
Private | A private message (IrcPrivateMessage). |
Quit | A quit message (IrcQuitMessage). |
Topic | A topic message (IrcTopicMessage). |
WhoReply | A who reply message (IrcWhoReplyMessage).
|
Account | An account notify message (IrcAccountMessage).
|
Away | An away message (IrcAwayMessage).
|
Whois | A whois reply message (IrcWhoisMessage).
|
Whowas | A whowas reply message (IrcWhowasMessage).
|
HostChange | A host change message (IrcHostChangeMessage).
|
Batch | A batch message (IrcBatchMessage).
|
|
explicit |
Constructs a new IrcMessage with connection.
|
override |
Destructs the message.
QString IrcMessage::account | ( | ) | const |
This property holds the services account of the message sender.
account-tag
capability is enabled and the user has identified with services.IrcMessage * IrcMessage::clone | ( | QObject * | parent = nullptr | ) | const |
Clones the message.
QString IrcMessage::command | ( | ) | const |
This property holds the message command.
IrcConnection * IrcMessage::connection | ( | ) | const |
This property holds the message connection.
QByteArray IrcMessage::encoding | ( | ) | const |
This property holds the FALLBACK encoding for the message.
The fallback encoding is used when the message is detected not to be valid UTF-8 and the consequent auto-detection of message encoding fails. See QTextCodec::availableCodes() for the list of supported encodings.
The default value is ISO-8859-15.
IrcMessage::Flags IrcMessage::flags | ( | ) | const |
This property holds the message flags.
|
static |
Creates a new message from data and connection.
|
static |
Creates a new message from prefix, command and parameters with connection.
QString IrcMessage::host | ( | ) | const |
This property holds the message sender host.
Host is part of the sender prefix as specified in RFC 1459:
<nick> [ '!' <ident> ] [ '@' <host> ]
QString IrcMessage::ident | ( | ) | const |
This property holds the message sender ident.
Ident is part of the sender prefix as specified in RFC 1459:
<nick> [ '!' <ident> ] [ '@' <host> ]
IrcNetwork * IrcMessage::network | ( | ) | const |
This property holds the message network.
QString IrcMessage::nick | ( | ) | const |
This property holds the message sender nick.
Nick is part of the sender prefix as specified in RFC 1459:
<nick> [ '!' <ident> ] [ '@' <host> ]
QString IrcMessage::parameter | ( | int | index | ) | const |
Returns the parameter at the specified index.
QStringList IrcMessage::parameters | ( | ) | const |
This property holds the message parameters.
QString IrcMessage::prefix | ( | ) | const |
This property holds the message sender prefix.
The prefix consists of nick, ident and host as specified in RFC 1459:
<prefix> ::= <nick> [ '!' <ident> ] [ '@' <host> ]
void IrcMessage::setFlag | ( | Flag | flag, |
bool | on = true |
||
) |
Sets whether the flag is on.
void IrcMessage::setParameter | ( | int | index, |
const QString & | parameter | ||
) |
Sets the parameter at the specified index.
void IrcMessage::setTag | ( | const QString & | name, |
const QVariant & | value | ||
) |
QVariant IrcMessage::tag | ( | const QString & | name | ) | const |
QVariantMap IrcMessage::tags | ( | ) | const |
This property holds the message tags.
bool IrcMessage::testFlag | ( | Flag | flag | ) | const |
Returns true
if the flag is on; otherwise false
.
QDateTime IrcMessage::timeStamp | ( | ) | const |
This property holds the message time stamp.
server-time
capability is enabled, the time stamp is automatically set from the time
message tag.QByteArray IrcMessage::toData | ( | ) | const |
Returns the message as received from an IRC server.
IrcMessage::Type IrcMessage::type | ( | ) | const |
This property holds the message type.
|
read |
This property holds whether the message is an implicit "reply" after joining a channel.
This property is provided for convenience. It is equivalent of testing for the IrcMessage::Implicit flag.
|
read |
This property holds whether the message is user's own.
This property is provided for convenience. It is equivalent of testing for the IrcMessage::Own flag.
|
read |
This property is true
if the message is valid; otherwise false
.
A message is considered valid if the prefix is not empty and the parameters match the message.