Changeset View
Changeset View
Standalone View
Standalone View
libraries/win32/gloox/include/gloox/gloox.h
Show First 20 Lines • Show All 305 Lines • ▼ Show 20 Lines | |||||
* @li @xep{0096} @ref filetransfer_sec | * @li @xep{0096} @ref filetransfer_sec | ||||
* @li @xep{0106} @link gloox::JID::escapeNode() JID Escaping @endlink | * @li @xep{0106} @link gloox::JID::escapeNode() JID Escaping @endlink | ||||
* @li @xep{0114} @link gloox::Component Jabber Component Protocol @endlink | * @li @xep{0114} @link gloox::Component Jabber Component Protocol @endlink | ||||
* @li @xep{0115} @link gloox::Capabilities Entity Capabilities @endlink (used automatically internally) | * @li @xep{0115} @link gloox::Capabilities Entity Capabilities @endlink (used automatically internally) | ||||
* @li @xep{0124} @link gloox::ConnectionBOSH Bidirectional-streams Over Synchronous HTTP (BOSH) @endlink | * @li @xep{0124} @link gloox::ConnectionBOSH Bidirectional-streams Over Synchronous HTTP (BOSH) @endlink | ||||
* @li @xep{0131} @link gloox::SHIM Stanza Headers and Internet Metadata @endlink | * @li @xep{0131} @link gloox::SHIM Stanza Headers and Internet Metadata @endlink | ||||
* @li @xep{0138} Stream Compression (used automatically if gloox is compiled with zlib and if the server | * @li @xep{0138} Stream Compression (used automatically if gloox is compiled with zlib and if the server | ||||
* supports it) | * supports it) | ||||
* @li @xep{0144} @link gloox::RosterX Roster Item Exchange @endlink | |||||
* @li @xep{0145} @link gloox::Annotations Annotations @endlink | * @li @xep{0145} @link gloox::Annotations Annotations @endlink | ||||
* @li @xep{0153} @link gloox::VCardUpdate vCard-based Avatars @endlink | * @li @xep{0153} @link gloox::VCardUpdate vCard-based Avatars @endlink | ||||
* @li @xep{0166} @link gloox::Jingle::SessionManager Jingle @endlink | * @li @xep{0166} @link gloox::Jingle::SessionManager Jingle @endlink | ||||
* @li @xep{0172} @link gloox::Nickname User Nickname @endlink | * @li @xep{0172} @link gloox::Nickname User Nickname @endlink | ||||
* @li @xep{0174} @link gloox::LinkLocal::Manager Link-local Messaging @endlink | * @li @xep{0174} @link gloox::LinkLocal::Manager Link-local Messaging @endlink | ||||
* @li @xep{0176} @link gloox::Jingle::ICEUDP Jingle ICE-UDP Transport Method @endlink | * @li @xep{0176} @link gloox::Jingle::ICEUDP Jingle ICE-UDP Transport Method @endlink | ||||
* @li @xep{0184} @link gloox::Receipt Message Receipts @endlink | * @li @xep{0184} @link gloox::Receipt Message Receipts @endlink | ||||
* @li @xep{0198} Stream Management (integrated into @link gloox::Client @endlink) | * @li @xep{0198} Stream Management (integrated into @link gloox::Client @endlink) | ||||
* @li @xep{0199} @link gloox::ClientBase::xmppPing() XMPP Ping @endlink | * @li @xep{0199} @link gloox::ClientBase::xmppPing() XMPP Ping @endlink | ||||
* @li @xep{0203} @link gloox::DelayedDelivery Delayed Delivery @endlink (new spec) | * @li @xep{0203} @link gloox::DelayedDelivery Delayed Delivery @endlink (new spec) | ||||
* @li @xep{0206} XMPP Over BOSH, see @link gloox::ConnectionBOSH BOSH @endlink | * @li @xep{0206} XMPP Over BOSH, see @link gloox::ConnectionBOSH BOSH @endlink | ||||
* @li @xep{0224} @link gloox::Attention Attention @endlink | * @li @xep{0224} @link gloox::Attention Attention @endlink | ||||
* @li @xep{0234} @link gloox::Jingle::FileTransfer Jingle File Transfer @endlink | * @li @xep{0234} @link gloox::Jingle::FileTransfer Jingle File Transfer @endlink | ||||
* @li @xep{0256} @link gloox::LastActivity::Query Last Activity in Presence @endlink | * @li @xep{0256} @link gloox::LastActivity::Query Last Activity in Presence @endlink | ||||
* @li @xep{0280} @link gloox::Carbons Message Carbons @endlink | * @li @xep{0280} @link gloox::Carbons Message Carbons @endlink | ||||
* @li @xep{0297} @link gloox::Forward Stanza Forwarding @endlink | * @li @xep{0297} @link gloox::Forward Stanza Forwarding @endlink | ||||
* @li @xep{0333} @link gloox::ChatMarker Chat Markers @endlink | |||||
* @li @xep{0334} @link gloox::Hint Message Processing Hints @endlink | |||||
* @li @xep{0352} @link gloox::Client::hasClientStateIndication() Client State Indication @endlink | * @li @xep{0352} @link gloox::Client::hasClientStateIndication() Client State Indication @endlink | ||||
* @li @xep{0372} @link gloox::Reference References @endlink | |||||
* @li @xep{0394} @link gloox::MessageMarkup Message Markup @endlink | |||||
* | |||||
* @li RFC 7395: XMPP Over WebSocket, see @link gloox::ConnectionWebSocket WebSocket @endlink | |||||
* | * | ||||
* Further extensions can easily be implemented using | * Further extensions can easily be implemented using | ||||
* @link gloox::StanzaExtension StanzaExtensions @endlink. | * @link gloox::StanzaExtension StanzaExtensions @endlink. | ||||
* | * | ||||
* @section filetransfer_sec File Transfer | * @section filetransfer_sec File Transfer | ||||
* | * | ||||
* For file transfer, gloox implements @xep{0095} (Stream Initiation) as well @xep{0096} (File Transfer) | * For file transfer, gloox implements @xep{0095} (Stream Initiation) as well @xep{0096} (File Transfer) | ||||
* for the signalling, and @xep{0065} (SOCKS5 Bytestreams) as well as @xep{0047} (In-Band Bytestreams) | * for the signalling, and @xep{0065} (SOCKS5 Bytestreams) as well as @xep{0047} (In-Band Bytestreams) | ||||
Show All 11 Lines | |||||
* | * | ||||
*/ | */ | ||||
#ifndef GLOOX_H__ | #ifndef GLOOX_H__ | ||||
#define GLOOX_H__ | #define GLOOX_H__ | ||||
#include "macros.h" | #include "macros.h" | ||||
#include <inttypes.h> | |||||
#include <string> | #include <string> | ||||
#include <list> | #include <list> | ||||
#include <map> | #include <map> | ||||
/** | /** | ||||
* @brief The namespace for the gloox library. | * @brief The namespace for the gloox library. | ||||
* | * | ||||
* @author Jakob Schröter <js@camaya.net> | * @author Jakob Schröter <js@camaya.net> | ||||
▲ Show 20 Lines • Show All 233 Lines • ▼ Show 20 Lines | namespace gloox | ||||
GLOOX_API extern const std::string XMLNS_STREAM_MANAGEMENT; | GLOOX_API extern const std::string XMLNS_STREAM_MANAGEMENT; | ||||
/** Stanza Forwarding namespace (@xep{0297}) */ | /** Stanza Forwarding namespace (@xep{0297}) */ | ||||
GLOOX_API extern const std::string XMLNS_STANZA_FORWARDING; | GLOOX_API extern const std::string XMLNS_STANZA_FORWARDING; | ||||
/** Message Carbons namespace (@xep{0280}) */ | /** Message Carbons namespace (@xep{0280}) */ | ||||
GLOOX_API extern const std::string XMLNS_MESSAGE_CARBONS; | GLOOX_API extern const std::string XMLNS_MESSAGE_CARBONS; | ||||
/** Shared XML Editing namespace (@xep{0284}) */ | |||||
GLOOX_API extern const std::string XMLNS_SXE; | |||||
/** Client State Indication namespace (@xep{0352}) */ | /** Client State Indication namespace (@xep{0352}) */ | ||||
GLOOX_API extern const std::string XMLNS_CLIENT_STATE_INDICATION; | GLOOX_API extern const std::string XMLNS_CLIENT_STATE_INDICATION; | ||||
/** Use of Cryptographic Hash Functions in XMPP namespace (@xep{0300}) */ | /** Use of Cryptographic Hash Functions in XMPP namespace (@xep{0300}) */ | ||||
GLOOX_API extern const std::string XMLNS_HASHES; | GLOOX_API extern const std::string XMLNS_HASHES; | ||||
/** IO Data (@xep{0244}) */ | /** IO Data (@xep{0244}) */ | ||||
GLOOX_API extern const std::string XMLNS_IODATA; | GLOOX_API extern const std::string XMLNS_IODATA; | ||||
/** Roster Item Exchange (@xep{0144}) */ | |||||
GLOOX_API extern const std::string XMLNS_ROSTER_X; | |||||
/** Websocket protocol (RFC 7395) */ | |||||
GLOOX_API extern const std::string XMLNS_XMPP_FRAMING; | |||||
/** Chat Markers (@xep{0333}) */ | |||||
GLOOX_API extern const std::string XMLNS_CHAT_MARKERS; | |||||
/** Message Markup (@xep{0394}) */ | |||||
GLOOX_API extern const std::string XMLNS_MESSAGE_MARKUP; | |||||
/** Message Markup (@xep{0372}) */ | |||||
GLOOX_API extern const std::string XMLNS_REFERENCES; | |||||
/** Message Processing Hints (@xep{0334}) */ | |||||
GLOOX_API extern const std::string XMLNS_HINTS; | |||||
/** Bits of Binary (@xep{0231}) */ | |||||
GLOOX_API extern const std::string XMLNS_BOB; | |||||
/** Data Form Media Element (@xep{0221}) */ | |||||
GLOOX_API extern const std::string XMLNS_DATAFORM_MEDIA; | |||||
/** Supported stream version (major). */ | /** Supported stream version (major). */ | ||||
GLOOX_API extern const std::string XMPP_STREAM_VERSION_MAJOR; | GLOOX_API extern const std::string XMPP_STREAM_VERSION_MAJOR; | ||||
/** Supported stream version (minor). */ | /** Supported stream version (minor). */ | ||||
GLOOX_API extern const std::string XMPP_STREAM_VERSION_MINOR; | GLOOX_API extern const std::string XMPP_STREAM_VERSION_MINOR; | ||||
/** gloox version */ | /** gloox version */ | ||||
GLOOX_API extern const std::string GLOOX_VERSION; | GLOOX_API extern const std::string GLOOX_VERSION; | ||||
▲ Show 20 Lines • Show All 58 Lines • ▼ Show 20 Lines | namespace gloox | ||||
*/ | */ | ||||
enum ConnectionError | enum ConnectionError | ||||
{ | { | ||||
ConnNoError, /**< Not really an error. Everything went just fine. */ | ConnNoError, /**< Not really an error. Everything went just fine. */ | ||||
ConnStreamError, /**< A stream error occured. The stream has been closed. | ConnStreamError, /**< A stream error occured. The stream has been closed. | ||||
* Use ClientBase::streamError() to find the reason. */ | * Use ClientBase::streamError() to find the reason. */ | ||||
ConnStreamVersionError, /**< The incoming stream's version is not supported */ | ConnStreamVersionError, /**< The incoming stream's version is not supported */ | ||||
ConnStreamClosed, /**< The stream has been closed (by the server). */ | ConnStreamClosed, /**< The stream has been closed (by the server). */ | ||||
ConnProxyGatewayTimeout, /**< The server, while acting as a gateway or proxy, did not receive a | |||||
* timely response from the upstream server specified by the URI. */ | |||||
ConnProxyAuthRequired, /**< The HTTP/SOCKS5 proxy requires authentication. | ConnProxyAuthRequired, /**< The HTTP/SOCKS5 proxy requires authentication. | ||||
* @since 0.9 */ | * @since 0.9 */ | ||||
ConnProxyAuthFailed, /**< HTTP/SOCKS5 proxy authentication failed. | ConnProxyAuthFailed, /**< HTTP/SOCKS5 proxy authentication failed. | ||||
* @since 0.9 */ | * @since 0.9 */ | ||||
ConnProxyNoSupportedAuth, /**< The HTTP/SOCKS5 proxy requires an unsupported auth mechanism. | ConnProxyNoSupportedAuth, /**< The HTTP/SOCKS5 proxy requires an unsupported auth mechanism. | ||||
* @since 0.9 */ | * @since 0.9 */ | ||||
ConnIoError, /**< An I/O error occured. */ | ConnIoError, /**< An I/O error occured. */ | ||||
ConnParseError, /**< An XML parse error occurred. */ | ConnParseError, /**< An XML parse error occurred. */ | ||||
Show All 9 Lines | enum ConnectionError | ||||
ConnTlsNotAvailable, /**< The server didn't offer TLS while it was set to be required, | ConnTlsNotAvailable, /**< The server didn't offer TLS while it was set to be required, | ||||
* or TLS was not compiled in. | * or TLS was not compiled in. | ||||
* @since 0.9.4 */ | * @since 0.9.4 */ | ||||
ConnCompressionFailed, /**< Negotiating/initializing compression failed. | ConnCompressionFailed, /**< Negotiating/initializing compression failed. | ||||
* @since 0.9 */ | * @since 0.9 */ | ||||
ConnAuthenticationFailed, /**< Authentication failed. Username/password wrong or account does | ConnAuthenticationFailed, /**< Authentication failed. Username/password wrong or account does | ||||
* not exist. Use ClientBase::authError() to find the reason. */ | * not exist. Use ClientBase::authError() to find the reason. */ | ||||
ConnUserDisconnected, /**< The user (or higher-level protocol) requested a disconnect. */ | ConnUserDisconnected, /**< The user (or higher-level protocol) requested a disconnect. */ | ||||
ConnNotConnected /**< There is no active connection. */ | ConnNotConnected, /**< There is no active connection. */ | ||||
ConnAttemptTimeout /**< The connection attempt timed out. */ | |||||
}; | }; | ||||
/** | /** | ||||
* ClientBase's policy regarding TLS usage. Use with ClientBase::setTls(). | * ClientBase's policy regarding TLS usage. Use with ClientBase::setTls(). | ||||
*/ | */ | ||||
enum TLSPolicy | enum TLSPolicy | ||||
{ | { | ||||
TLSDisabled, /**< Don't use TLS. */ | TLSDisabled, /**< Don't use TLS. */ | ||||
TLSOptional, /**< Use TLS if compiled in and offered by the server. */ | TLSOptional, /**< Use TLS if compiled in and offered by the server. */ | ||||
TLSRequired /**< Don't attempt to log in if the server didn't offer TLS | TLSRequired /**< Don't attempt to log in if the server didn't offer TLS | ||||
* or if TLS was not compiled in. Disconnect error will be | * or if TLS was not compiled in. Disconnect error will be | ||||
* ConnTlsNotAvailable. */ | * ConnTlsNotAvailable. */ | ||||
}; | }; | ||||
/** | /** | ||||
* The (minimum) required/requested TLS version. Use with ClientBase::setTls() or | |||||
* directly with a TLSBase-derived object (setTLSVersion()). | |||||
*/ | |||||
enum TLSVersion | |||||
{ | |||||
SSLv3, /**< Insecure and outdated version. Use at your own risk. | |||||
* Possibly not supported by your crypto lib. */ | |||||
TLSv1, /**< Use this to require TLS v1 as a minimum. Default. */ | |||||
TLSv1_1, /**< Use this to require TLS v1.1 as a minimum. */ | |||||
TLSv1_2, /**< Use this to require TLS v1.2 as a minimum. */ | |||||
// TLSv1_3, /**< Use this to require TLS v1.3 as a minimum. */ | |||||
DTLSv1, /**< Use this to require DTLS v1 as a minimum. | |||||
* Requires a datagram-based transport (e.g. UDP). */ | |||||
DTLSv1_2 /**< Use this to require DTLS v1.2 as a minimum. | |||||
* Requires a datagram-based transport (e.g. UDP). */ | |||||
}; | |||||
/** | |||||
* Supported Stream Features. | * Supported Stream Features. | ||||
*/ | */ | ||||
enum StreamFeature | enum StreamFeature | ||||
{ | { | ||||
StreamFeatureBind = 1, /**< The server supports resource binding. */ | StreamFeatureBind = 1, /**< The server supports resource binding. */ | ||||
StreamFeatureUnbind = 2, /**< The server supports binding multiple resources. */ | StreamFeatureUnbind = 2, /**< The server supports binding multiple resources. */ | ||||
StreamFeatureSession = 4, /**< The server supports sessions. */ | StreamFeatureSession = 4, /**< The server supports sessions. */ | ||||
StreamFeatureStartTls = 8, /**< The server supports <starttls>. */ | StreamFeatureStartTls = 8, /**< The server supports <starttls>. */ | ||||
▲ Show 20 Lines • Show All 240 Lines • ▼ Show 20 Lines | enum CertStatus | ||||
CertExpired = 8, /**< The certificate has expired. */ | CertExpired = 8, /**< The certificate has expired. */ | ||||
CertNotActive = 16, /**< The certifiacte is not yet active. */ | CertNotActive = 16, /**< The certifiacte is not yet active. */ | ||||
CertWrongPeer = 32, /**< The certificate has not been issued for the | CertWrongPeer = 32, /**< The certificate has not been issued for the | ||||
* peer we're connected to. */ | * peer we're connected to. */ | ||||
CertSignerNotCa = 64 /**< The signer is not a CA. */ | CertSignerNotCa = 64 /**< The signer is not a CA. */ | ||||
}; | }; | ||||
/** | /** | ||||
* A list of strings. | |||||
*/ | |||||
typedef std::list<std::string> StringList; | |||||
/** | |||||
* Describes the certificate presented by the peer. | * Describes the certificate presented by the peer. | ||||
*/ | */ | ||||
struct CertInfo | struct CertInfo | ||||
{ | { | ||||
int status; /**< Bitwise or'ed CertStatus or CertOK. */ | int status; /**< Bitwise or'ed CertStatus or CertOK. */ | ||||
bool chain; /**< Determines whether the cert chain verified ok. */ | bool chain; /**< Determines whether the cert chain verified ok. */ | ||||
std::string issuer; /**< The name of the issuing entity.*/ | std::string issuer; /**< The name of the issuing entity.*/ | ||||
std::string server; /**< The server the certificate has been issued for. */ | std::string server; /**< The server the certificate has been issued for. */ | ||||
int date_from; /**< The date from which onwards the certificate is valid | int date_from; /**< The date from which onwards the certificate is valid | ||||
* (UNIX timestamp; UTC). | * (UNIX timestamp; UTC). | ||||
* @todo Change type to time_t or long? */ | * @todo Change type to time_t or long? */ | ||||
int date_to; /**< The date up to which the certificate is valid | int date_to; /**< The date up to which the certificate is valid | ||||
* (UNIX timestamp; UTC). | * (UNIX timestamp; UTC). | ||||
* @todo Change type to time_t or long? */ | * @todo Change type to time_t or long? */ | ||||
std::string protocol; /**< The encryption protocol used for the connection. */ | std::string protocol; /**< The encryption protocol used for the connection. */ | ||||
std::string cipher; /**< The cipher used for the connection. */ | std::string cipher; /**< The cipher used for the connection. */ | ||||
std::string mac; /**< The MAC used for the connection. */ | std::string mac; /**< The MAC used for the connection. */ | ||||
std::string compression; /**< The compression used for the connection. */ | std::string compression; /**< The compression used for the connection. */ | ||||
StringList listSAN; /**< List of Subject Alternative Names. */ | |||||
}; | }; | ||||
/** | /** | ||||
* Describes the defined SASL (and non-SASL) error conditions. | * Describes the defined SASL (and non-SASL) error conditions. | ||||
*/ | */ | ||||
enum AuthenticationError | enum AuthenticationError | ||||
{ | { | ||||
AuthErrorUndefined, /**< No error occurred, or error condition is unknown. */ | AuthErrorUndefined, /**< No error occurred, or error condition is unknown. */ | ||||
▲ Show 20 Lines • Show All 48 Lines • ▼ Show 20 Lines | enum LogArea | ||||
LogAreaClassConnectionSOCKS5Proxy = 0x000080, /**< Log messages from ConnectionSOCKS5Proxy */ | LogAreaClassConnectionSOCKS5Proxy = 0x000080, /**< Log messages from ConnectionSOCKS5Proxy */ | ||||
LogAreaClassConnectionTCPClient = 0x000100, /**< Log messages from ConnectionTCPClient. */ | LogAreaClassConnectionTCPClient = 0x000100, /**< Log messages from ConnectionTCPClient. */ | ||||
LogAreaClassConnectionTCPServer = 0x000200, /**< Log messages from ConnectionTCPServer. */ | LogAreaClassConnectionTCPServer = 0x000200, /**< Log messages from ConnectionTCPServer. */ | ||||
LogAreaClassS5BManager = 0x000400, /**< Log messages from SOCKS5BytestreamManager. */ | LogAreaClassS5BManager = 0x000400, /**< Log messages from SOCKS5BytestreamManager. */ | ||||
LogAreaClassSOCKS5Bytestream = 0x000800, /**< Log messages from SOCKS5Bytestream. */ | LogAreaClassSOCKS5Bytestream = 0x000800, /**< Log messages from SOCKS5Bytestream. */ | ||||
LogAreaClassConnectionBOSH = 0x001000, /**< Log messages from ConnectionBOSH */ | LogAreaClassConnectionBOSH = 0x001000, /**< Log messages from ConnectionBOSH */ | ||||
LogAreaClassConnectionTLS = 0x002000, /**< Log messages from ConnectionTLS */ | LogAreaClassConnectionTLS = 0x002000, /**< Log messages from ConnectionTLS */ | ||||
LogAreaLinkLocalManager = 0x004000, /**< Log messages from LinkLocalManager */ | LogAreaLinkLocalManager = 0x004000, /**< Log messages from LinkLocalManager */ | ||||
LogAreaClassConnectionWebSocket = 0x008000, /**< Log messages from ConnectionWebSocket */ | |||||
LogAreaAllClasses = 0x01FFFF, /**< All log messages from all the classes. */ | LogAreaAllClasses = 0x01FFFF, /**< All log messages from all the classes. */ | ||||
LogAreaXmlIncoming = 0x020000, /**< Incoming XML. */ | LogAreaXmlIncoming = 0x020000, /**< Incoming XML. */ | ||||
LogAreaXmlOutgoing = 0x040000, /**< Outgoing XML. */ | LogAreaXmlOutgoing = 0x040000, /**< Outgoing XML. */ | ||||
LogAreaUser = 0x800000, /**< User-defined sources. */ | LogAreaUser = 0x800000, /**< User-defined sources. */ | ||||
LogAreaAll = 0xFFFFFF /**< All log sources. */ | LogAreaAll = 0xFFFFFF /**< All log sources. */ | ||||
}; | }; | ||||
/** | /** | ||||
Show All 31 Lines | enum ChatStateType | ||||
ChatStatePaused = 4, /**< User had been composing but now has stopped. */ | ChatStatePaused = 4, /**< User had been composing but now has stopped. */ | ||||
ChatStateInactive = 8, /**< User has not been actively participating in the chat session. */ | ChatStateInactive = 8, /**< User has not been actively participating in the chat session. */ | ||||
ChatStateGone = 16, /**< User has effectively ended their participation in the chat | ChatStateGone = 16, /**< User has effectively ended their participation in the chat | ||||
* session. */ | * session. */ | ||||
ChatStateInvalid = 32 /**< Invalid type. */ | ChatStateInvalid = 32 /**< Invalid type. */ | ||||
}; | }; | ||||
/** | /** | ||||
* The available Chat Marker types according to @xep{0333}. | |||||
*/ | |||||
enum ChatMarkerType | |||||
{ | |||||
ChatMarkerReceived = 1, /**< The message has been received by a client. */ | |||||
ChatMarkerDisplayed = 2, /**< The message has been displayed to a user in a active chat | |||||
* and not in a system notification. */ | |||||
ChatMarkerAcknowledged = 4, /**< The message has been acknowledged by some user interaction | |||||
* e.g. pressing an acknowledgement button. */ | |||||
ChatMarkerInvalid = 8 /**< Invalid type. */ | |||||
}; | |||||
/** | |||||
* Describes the possible error conditions for resource binding. | * Describes the possible error conditions for resource binding. | ||||
*/ | */ | ||||
enum ResourceBindError | enum ResourceBindError | ||||
{ | { | ||||
RbErrorUnknownError, /**< An unknown error occured. */ | RbErrorUnknownError, /**< An unknown error occured. */ | ||||
RbErrorBadRequest, /**< Resource identifier cannot be processed. */ | RbErrorBadRequest, /**< Resource identifier cannot be processed. */ | ||||
RbErrorNotAllowed, /**< Client is not allowed to bind a resource. */ | RbErrorNotAllowed, /**< Client is not allowed to bind a resource. */ | ||||
RbErrorConflict /**< Resource identifier is in use. */ | RbErrorConflict /**< Resource identifier is in use. */ | ||||
▲ Show 20 Lines • Show All 157 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator