Top | ![]() |
![]() |
![]() |
![]() |
GQuark | wocky_xmpp_error_quark () |
void | wocky_xmpp_error_register_domain () |
GQuark | wocky_jingle_error_quark () |
GQuark | wocky_si_error_quark () |
GQuark | wocky_xmpp_stream_error_quark () |
const gchar * | wocky_xmpp_error_string () |
const gchar * | wocky_xmpp_error_description () |
GError * | wocky_xmpp_stream_error_from_node () |
WockyNode * | wocky_stanza_error_to_node () |
const gchar * | wocky_xmpp_stanza_error_to_string () |
void | wocky_xmpp_error_extract () |
void | wocky_xmpp_error_init () |
void | wocky_xmpp_error_deinit () |
enum | WockyXmppErrorType |
enum | WockyXmppError |
#define | WOCKY_XMPP_ERROR |
struct | WockyXmppErrorSpecialization |
struct | WockyXmppErrorDomain |
enum | WockyJingleError |
#define | WOCKY_JINGLE_ERROR |
enum | WockySIError |
#define | WOCKY_SI_ERROR |
enum | WockyXmppStreamError |
#define | WOCKY_XMPP_STREAM_ERROR |
GEnum ├── WockyJingleError ├── WockySIError ├── WockyXmppError ├── WockyXmppErrorType ╰── WockyXmppStreamError
void
wocky_xmpp_error_register_domain (WockyXmppErrorDomain *domain
);
Registers a new set of application-specific stanza errors. This allows
GErrors in that domain to be passed to wocky_stanza_error_to_node()
, and to
be recognized and returned by wocky_xmpp_error_extract()
(and
wocky_stanza_extract_errors()
, by extension).
GQuark
wocky_xmpp_stream_error_quark (void
);
Get the error quark used for stream errors
WockyNode * wocky_stanza_error_to_node (const GError *error
,WockyNode *parent_node
);
const gchar *
wocky_xmpp_stanza_error_to_string (GError *error
);
Returns the name of the XMPP stanza error element represented by error
.
This is intended for use in debugging messages, with GErrors
returned by
wocky_stanza_extract_errors()
.
error |
an error in the domain |
void wocky_xmpp_error_extract (WockyNode *error
,WockyXmppErrorType *type
,GError **core
,GError **specialized
,WockyNode **specialized_node
);
Given an <error/> node, breaks it down into values describing the error.
type
and core
are guaranteed to be set; specialized
and specialized_node
will be set if a recognised application-specific error is found, and the
latter will be set to NULL
if no application-specific error is found.
Any or all of the out parameters may be NULL
to ignore the value. The
value stored in specialized_node
is borrowed from stanza
, and is only
valid as long as the latter is alive.
error |
the <error/> child of a stanza with type='error' |
|
type |
location at which to store the error type |
|
core |
location at which to store an error in the domain WOCKY_XMPP_ERROR |
|
specialized |
location at which to store an error in an application-specific domain, if one is found |
|
specialized_node |
location at which to store the node representing an application-specific error, if one is found |
XMPP error types as described in RFC 3920 §9.3.2.
Possible stanza-level errors, as defined by RFC 6210 §8.3.3.
the error condition is not one of those defined by the other conditions in this list |
||
the recipient or server is redirecting requests for this information to another entity |
||
the recipient or server can no longer be contacted at this address |
||
the sender has sent XML that is malformed or that cannot be processed |
||
the recipient or server understood the request but was not expecting it at this time |
||
the sending entity has provided or communicated an XMPP address |
||
the sender must provide proper credentials before being allowed to perform the action, or has provided improper credentials |
||
the requesting entity is not authorized to access the requested service because payment is required. This code is no longer defined in RFC 6120, the current version of XMPP Core. It's preserved here for interoperability, but new applications should not send it. |
||
the requesting entity does not possess the required permissions to perform the action |
||
the addressed JID or item requested cannot be found |
||
the intended recipient is temporarily unavailable |
||
a remote server or service specified as part or all of the JID of the intended recipient does not exist |
||
the recipient or server does not allow any entity to perform the action |
||
the recipient or server understands the request but is refusing to process it because it does not meet criteria defined by the recipient or server |
||
the requesting entity is not authorized to access the requested service because registration is required |
||
the requesting entity is not authorized to access the requested service because a subscription is required |
||
a remote server or service specified as part or all of the JID of the intended recipient (or required to fulfill a request) could not be contacted within a reasonable amount of time |
||
access cannot be granted because an existing resource or session exists with the same name or address |
||
the server could not process the stanza because of a misconfiguration or an otherwise-undefined internal server error |
||
the server or recipient lacks the system resources necessary to service the request |
||
the feature requested is not implemented by the recipient or server and therefore cannot be processed |
||
the server or recipient does not currently provide the requested service |
||
the entity has violated some local
service policy (e.g., a message contains words that are prohibited by the
service) and the server MAY choose to specify the policy as the text of
the error or in an application-specific condition element; the associated
error type SHOULD be |
struct WockyXmppErrorSpecialization { const gchar *description; WockyXmppError specializes; gboolean override_type; WockyXmppErrorType type; };
A struct to represent a specialization of an existing WockyXmppError member.
const gchar * |
description of the error |
|
WockyXmppError |
which WockyXmppError this error specializes |
|
gboolean |
|
|
WockyXmppErrorType |
the XMPP error type |
struct WockyXmppErrorDomain { GQuark domain; GType enum_type; WockyXmppErrorSpecialization *codes; };
A struct to represent extra XMPP error domains added.
GQuark |
a GQuark of the error domain |
|
GType |
the GType of the error enum |
|
WockyXmppErrorSpecialization * |
a |
Jingle specific errors.
the request cannot occur at this point in the state machine |
||
the request is rejected because it was sent while the initiator was awaiting a reply on a similar request |
||
the 'sid' attribute specifies a session that is unknown to the recipient |
||
the recipient does not support the informational payload of a session-info action. |
Stream-level error conditions as described in RFC 3920 §4.7.3.
the entity has sent XML that cannot be processed |
||
the entity has sent a namespace prefix that is unsupported, or has sent no namespace prefix on an element that requires such a prefix |
||
the server is closing the active stream for this entity because a new stream has been initiated that conflicts with the existing stream |
||
the entity has not generated any traffic over the stream for some period of time |
||
the value of the 'to' attribute provided by the initiating entity in the stream header corresponds to a hostname that is no longer hosted by the server |
||
the value of the 'to' attribute provided by the initiating entity in the stream header does not correspond to a hostname that is hosted by the server |
||
a stanza sent between two servers lacks a 'to' or 'from' attribute (or the attribute has no value) |
||
the server has experienced a misconfiguration or an otherwise-undefined internal error that prevents it from servicing the stream |
||
the JID or hostname provided in a 'from' address does not match an authorized JID or validated domain negotiated between servers via SASL or dialback, or between a client and a server via authentication and resource binding |
||
the stream ID or dialback ID is invalid or does not match an ID previously provided |
||
the streams namespace name is something other than "http://etherx.jabber.org/streams" or the dialback namespace name is something other than "jabber:server:dialback" |
||
the entity has sent invalid XML over the stream to a server that performs validation |
||
the entity has attempted to send data before the stream has been authenticated, or otherwise is not authorized to perform an action related to stream negotiation |
||
the entity has violated some local service policy |
||
the server is unable to properly connect to a remote entity that is required for authentication or authorization |
||
the server lacks the system resources necessary to service the stream |
||
the entity has attempted to send restricted XML features such as a comment, processing instruction, DTD, entity reference, or unescaped character |
||
the server will not provide service to the initiating entity but is redirecting traffic to another host |
||
the server is being shut down and all active streams are being closed |
||
the error condition is not one of those defined by the other conditions in this list |
||
the initiating entity has encoded the stream in an encoding that is not supported by the server |
||
the initiating entity has sent a first-level child of the stream that is not supported by the server |
||
the value of the 'version' attribute provided by the initiating entity in the stream header specifies a version of XMPP that is not supported by the server |
||
the initiating entity has sent XML that is not well-formed |
||
an unknown stream error |