33 #include <QtCore/qobject.h>
34 #include <QtCore/qmetatype.h>
35 #include <QtCore/qstringlist.h>
36 #include <QtCore/qscopedpointer.h>
41 class IrcNetworkPrivate;
46 Q_PROPERTY(
bool initialized READ isInitialized NOTIFY initialized)
47 Q_PROPERTY(QString name READ name NOTIFY nameChanged)
48 Q_PROPERTY(QStringList modes READ modes NOTIFY modesChanged)
49 Q_PROPERTY(QStringList prefixes READ prefixes NOTIFY prefixesChanged)
50 Q_PROPERTY(QStringList channelTypes READ channelTypes NOTIFY channelTypesChanged)
51 Q_PROPERTY(QStringList statusPrefixes READ statusPrefixes NOTIFY statusPrefixesChanged)
52 Q_PROPERTY(QStringList availableCapabilities READ availableCapabilities NOTIFY availableCapabilitiesChanged)
53 Q_PROPERTY(QStringList requestedCapabilities READ requestedCapabilities WRITE setRequestedCapabilities NOTIFY requestedCapabilitiesChanged)
54 Q_PROPERTY(QStringList activeCapabilities READ activeCapabilities NOTIFY activeCapabilitiesChanged)
55 Q_PROPERTY(
bool skipCapabilityValidation READ skipCapabilityValidation WRITE setSkipCapabilityValidation NOTIFY skipCapabilityValidationChanged)
66 QStringList modes()
const;
67 QStringList prefixes()
const;
69 Q_INVOKABLE QString modeToPrefix(
const QString& mode)
const;
70 Q_INVOKABLE QString prefixToMode(
const QString& prefix)
const;
72 QStringList channelTypes()
const;
73 QStringList statusPrefixes()
const;
75 Q_INVOKABLE
bool isChannel(
const QString& name)
const;
84 Q_DECLARE_FLAGS(ModeTypes, ModeType)
86 Q_INVOKABLE QStringList channelModes(IrcNetwork::ModeTypes types)
const;
101 Q_INVOKABLE
int modeLimit(
const QString& mode)
const;
102 Q_INVOKABLE
int channelLimit(
const QString& type)
const;
103 Q_INVOKABLE
int targetLimit(
const QString& command)
const;
105 QStringList availableCapabilities()
const;
106 QStringList requestedCapabilities()
const;
107 QStringList activeCapabilities()
const;
108 bool skipCapabilityValidation()
const;
110 Q_INVOKABLE
bool hasCapability(
const QString& capability)
const;
111 Q_INVOKABLE
bool isCapable(
const QString& capability)
const;
114 bool requestCapability(
const QString& capability);
115 bool requestCapabilities(
const QStringList& capabilities);
116 void setRequestedCapabilities(
const QStringList& capabilities);
117 void setSkipCapabilityValidation(
bool skip);
121 void nameChanged(
const QString& name);
122 void modesChanged(
const QStringList& modes);
123 void prefixesChanged(
const QStringList& prefixes);
124 void channelTypesChanged(
const QStringList& types);
125 void statusPrefixesChanged(
const QStringList& prefixes);
126 void availableCapabilitiesChanged(
const QStringList& capabilities);
127 void requestedCapabilitiesChanged(
const QStringList& capabilities);
128 void activeCapabilitiesChanged(
const QStringList& capabilities);
129 void skipCapabilityValidationChanged(
bool skip);
137 QScopedPointer<IrcNetworkPrivate> d_ptr;
142 #ifndef QT_NO_DEBUG_STREAM
145 IRC_CORE_EXPORT QDebug operator<<(QDebug debug, IrcNetwork::ModeTypes types);
146 IRC_CORE_EXPORT QDebug operator<<(QDebug debug,
const IrcNetwork* network);
149 Q_DECLARE_OPERATORS_FOR_FLAGS(IrcNetwork::ModeTypes)
153 Q_DECLARE_METATYPE(IRC_PREPEND_NAMESPACE(
IrcNetwork*))
Provides means to establish a connection to an IRC server.
Definition: ircconnection.h:49
Provides network information and capability management.
Definition: ircnetwork.h:44
ModeType
Definition: ircnetwork.h:77
Limit
Definition: ircnetwork.h:88
@ NickLength
The maximum nick name length.
Definition: ircnetwork.h:89
@ KickReasonLength
The maximum kick reason length.
Definition: ircnetwork.h:93
@ TopicLength
The maximum channel topic length.
Definition: ircnetwork.h:91
@ AwayReasonLength
The maximum away reason length.
Definition: ircnetwork.h:94
@ MessageLength
The maximum message length.
Definition: ircnetwork.h:92
@ ModeCount
The maximum number of channel modes allowed per mode command.
Definition: ircnetwork.h:95
@ ChannelLength
The maximum channel name length.
Definition: ircnetwork.h:90
void requestingCapabilities()
Implements the IRC protocol and provides means for implementing support for custom protocols.
Definition: ircprotocol.h:46