Communi  3.5.0
A cross-platform IRC framework written with Qt
Public Types | Public Member Functions | Static Public Member Functions | Properties | List of all members
IrcMessage Class Reference

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, IrcWhoisMessage, IrcWhoReplyMessage, and IrcWhowasMessage.

Public Types

Public Member Functions

Q_INVOKABLE IrcMessage (IrcConnection *connection)
 
virtual ~IrcMessage ()
 
Q_INVOKABLE IrcMessageclone (QObject *parent=0) const
 
QByteArray encoding () const
 
QString parameter (int index) const
 
Q_INVOKABLE void setFlag (Flag flag, bool on=true)
 
void setParameter (int index, const QString &parameter)
 
void setTag (const QString &name, const QVariant &tag)
 
QVariant tag (const QString &name) const
 
Q_INVOKABLE bool testFlag (Flag flag) const
 
Q_INVOKABLE QByteArray toData () const
 

Static Public Member Functions

static Q_INVOKABLE IrcMessagefromData (const QByteArray &data, IrcConnection *connection)
 
static Q_INVOKABLE IrcMessagefromParameters (const QString &prefix, const QString &command, const QStringList &parameters, IrcConnection *connection)
 

Properties

QString account
 
QString command
 
IrcConnection connection
 
Flags flags
 
QString host
 
QString ident
 
bool implicit
 
IrcNetwork network
 
QString nick
 
bool own
 
QStringList parameters
 
QString prefix
 
QVariantMap tags
 
QDateTime timeStamp
 
Type type
 
bool valid
 

Detailed Description

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.

See also
IrcConnection::messageReceived(), IrcMessage::Type

Member Enumeration Documentation

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.

Deprecated:
Use IrcMessage::account instead.
Unidentified 

The message is unidentified.

Deprecated:
Use IrcMessage::account instead.
Playback 

The message is playback.

Since
3.2
Implicit 

The message is an implicit "reply" after joining a channel.

Since
3.3

This enum describes the supported message types.

Enumerator
Unknown 

An unknown message (IrcMessage).

Capability 

A capability message (IrcCapabilityMessage).

See also
IRCv3 support
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).

Since
3.1
Account 

An account notify message (IrcAccountMessage).

Since
3.3
See also
IRCv3 support
Away 

An away message (IrcAwayMessage).

Since
3.3
Whois 

A whois reply message (IrcWhoisMessage).

Since
3.3
Whowas 

A whowas reply message (IrcWhowasMessage).

Since
3.3
HostChange 

A host change message (IrcHostChangeMessage).

Since
3.4
Batch 

A batch message (IrcBatchMessage).

Since
3.5
See also
IRCv3 support

Constructor & Destructor Documentation

IrcMessage::IrcMessage ( IrcConnection connection)
explicit

Constructs a new IrcMessage with connection.

IrcMessage::~IrcMessage ( )
virtual

Destructs the message.

Member Function Documentation

IrcMessage * IrcMessage::clone ( QObject parent = 0) const
Since
3.5

Clones the message.

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.

Access functions:
See also
QTextCodec::availableCodecs(), QTextCodec::codecForLocale()
IrcMessage * IrcMessage::fromData ( const QByteArray data,
IrcConnection connection 
)
static

Creates a new message from data and connection.

IrcMessage * IrcMessage::fromParameters ( const QString prefix,
const QString command,
const QStringList parameters,
IrcConnection connection 
)
static

Creates a new message from prefix, command and parameters with connection.

QString IrcMessage::parameter ( int  index) const
Since
3.5

Returns the parameter at the specified index.

void IrcMessage::setFlag ( Flag  flag,
bool  on = true 
)
Since
3.5

Sets whether the flag is on.

See also
IrcMessage::flags
void IrcMessage::setParameter ( int  index,
const QString parameter 
)
Since
3.5

Sets the parameter at the specified index.

void IrcMessage::setTag ( const QString name,
const QVariant value 
)
Since
3.5

Sets the value of the specified tag.

See also
IRCv3 support
QVariant IrcMessage::tag ( const QString name) const
Since
3.5

Returns the value of the specified tag.

See also
IRCv3 support
bool IrcMessage::testFlag ( Flag  flag) const
Since
3.5

Returns true if the flag is on; otherwise false.

See also
IrcMessage::flags
QByteArray IrcMessage::toData ( ) const

Returns the message as received from an IRC server.

Property Documentation

QString IrcMessage::account
read
Since
3.4

This property holds the services account of the message sender.

Note
Only set if the account-tag capability is enabled and the user has identified with services.
Access function:
See also
IRCv3 support
QString IrcMessage::command
read

This property holds the message command.

Access functions:
IrcConnection * IrcMessage::connection
read

This property holds the message connection.

Access function:
IrcMessage::Flags IrcMessage::flags
read

This property holds the message flags.

Access function:
See also
testFlag(), setFlag()
QString IrcMessage::host
read

This property holds the message sender host.

Host is part of the sender prefix as specified in RFC 1459:

<nick> [ '!' <ident> ] [ '@' <host> ]
Access function:
QString IrcMessage::ident
read

This property holds the message sender ident.

Ident is part of the sender prefix as specified in RFC 1459:

<nick> [ '!' <ident> ] [ '@' <host> ]
Access function:
bool IrcMessage::implicit
read
Since
3.5

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.

Access function:
  • bool isImplicit() const
IrcNetwork * IrcMessage::network
read

This property holds the message network.

Access function:
QString IrcMessage::nick
read

This property holds the message sender nick.

Nick is part of the sender prefix as specified in RFC 1459:

<nick> [ '!' <ident> ] [ '@' <host> ]
Access function:
bool IrcMessage::own
read
Since
3.2

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.

Access function:
  • bool isOwn() const
QStringList IrcMessage::parameters
readwrite

This property holds the message parameters.

Access functions:
QString IrcMessage::prefix
readwrite

This property holds the message sender prefix.

The prefix consists of nick, ident and host as specified in RFC 1459:

<prefix> ::= <nick> [ '!' <ident> ] [ '@' <host> ]
Access functions:
QVariantMap IrcMessage::tags
readwrite
Since
3.1

This property holds the message tags.

Access functions:
  • QVariantMap tags() const
  • void setTags(const QVariantMap& tags)
See also
IRCv3 support
QDateTime IrcMessage::timeStamp
readwrite

This property holds the message time stamp.

Note
When the server-time capability is enabled, the time stamp is automatically set from the time message tag.
Access functions:
See also
IRCv3 support
IrcMessage::Type IrcMessage::type
read

This property holds the message type.

Access function:
bool IrcMessage::valid
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.

Access function:
  • bool isValid() const