1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
6 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
7 <link rel="home" href="index.html" title="gsignond API Reference Manual">
8 <link rel="up" href="ch06.html" title="Miscellaneous">
9 <link rel="prev" href="ch06.html" title="Miscellaneous">
10 <link rel="next" href="gsignond-Logging.html" title="Logging">
11 <meta name="generator" content="GTK-Doc V1.19.1 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="10"><tr valign="middle">
16 <td width="100%" align="left">
17 <a href="#" class="shortcut">Top</a>
19 <a href="#gsignond-Errors.description" class="shortcut">Description</a>
21 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
22 <td><a accesskey="u" href="ch06.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
23 <td><a accesskey="p" href="ch06.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
24 <td><a accesskey="n" href="gsignond-Logging.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
26 <div class="refentry">
27 <a name="gsignond-Errors"></a><div class="titlepage"></div>
28 <div class="refnamediv"><table width="100%"><tr>
30 <h2><span class="refentrytitle"><a name="gsignond-Errors.top_of_page"></a>Errors</span></h2>
31 <p>Errors — error definitions and utilities</p>
33 <td valign="top" align="right"></td>
35 <div class="refsynopsisdiv">
36 <a name="gsignond-Errors.synopsis"></a><h2>Synopsis</h2>
37 <pre class="synopsis">
38 #include <gsignond/gsignond-error.h>
40 #define <a class="link" href="gsignond-Errors.html#GSIGNOND-ERROR:CAPS" title="GSIGNOND_ERROR">GSIGNOND_ERROR</a>
41 enum <a class="link" href="gsignond-Errors.html#GSignondError" title="enum GSignondError">GSignondError</a>;
42 <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="returnvalue">GError</span></a> * <a class="link" href="gsignond-Errors.html#gsignond-error-new-from-variant" title="gsignond_error_new_from_variant ()">gsignond_error_new_from_variant</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *var</code></em>);
43 <a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="returnvalue">GQuark</span></a> <a class="link" href="gsignond-Errors.html#gsignond-error-quark" title="gsignond_error_quark ()">gsignond_error_quark</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
44 <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="gsignond-Errors.html#gsignond-error-to-variant" title="gsignond_error_to_variant ()">gsignond_error_to_variant</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> *error</code></em>);
45 #define <a class="link" href="gsignond-Errors.html#gsignond-get-gerror-for-id" title="gsignond_get_gerror_for_id()">gsignond_get_gerror_for_id</a> (err,
50 <div class="refsect1">
51 <a name="gsignond-Errors.description"></a><h2>Description</h2>
53 This file provides GSignond error definitions and utilities.
54 When creating an error, use <a class="link" href="gsignond-Errors.html#GSIGNOND-ERROR:CAPS" title="GSIGNOND_ERROR"><span class="type">GSIGNOND_ERROR</span></a> for the error domain and errors
55 from <a class="link" href="gsignond-Errors.html#GSignondError" title="enum GSignondError"><span class="type">GSignondError</span></a> for the error code.
59 <div class="informalexample">
60 <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
63 <td class="listing_lines" align="right"><pre>1
65 <td class="listing_code"><pre class="programlisting">GError* err = g_error_new(GSIGNOND_ERROR, GSIGNOND_ERROR_MISSING_DATA,
66 <span class="number">"Not enough data"</span>);</pre></td>
75 <div class="refsect1">
76 <a name="gsignond-Errors.details"></a><h2>Details</h2>
77 <div class="refsect2">
78 <a name="GSIGNOND-ERROR:CAPS"></a><h3>GSIGNOND_ERROR</h3>
79 <pre class="programlisting">#define GSIGNOND_ERROR (gsignond_error_quark())
82 This macro should be used when creating a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> in GSignond plugins and extensions.
83 (for example with <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#g-error-new"><code class="function">g_error_new()</code></a> )
87 <div class="refsect2">
88 <a name="GSignondError"></a><h3>enum GSignondError</h3>
89 <pre class="programlisting">typedef enum {
92 GSIGNOND_ERROR_UNKNOWN = 1,
93 GSIGNOND_ERROR_INTERNAL_SERVER = 2,
94 GSIGNOND_ERROR_INTERNAL_COMMUNICATION = 3,
95 GSIGNOND_ERROR_PERMISSION_DENIED = 4,
96 GSIGNOND_ERROR_ENCRYPTION_FAILURE,
98 GSIGNOND_ERROR_AUTH_SERVICE_ERR = 100, /* Placeholder to rearrange enumeration - AuthService specific */
99 GSIGNOND_ERROR_METHOD_NOT_KNOWN,
100 GSIGNOND_ERROR_SERVICE_NOT_AVAILABLE,
101 GSIGNOND_ERROR_INVALID_QUERY,
103 GSIGNOND_ERROR_IDENTITY_ERR = 200, /* Placeholder to rearrange enumeration - Identity specific */
104 GSIGNOND_ERROR_METHOD_NOT_AVAILABLE,
105 GSIGNOND_ERROR_IDENTITY_NOT_FOUND,
106 GSIGNOND_ERROR_STORE_FAILED,
107 GSIGNOND_ERROR_REMOVE_FAILED,
108 GSIGNOND_ERROR_SIGN_OUT_FAILED,
109 GSIGNOND_ERROR_IDENTITY_OPERATION_CANCELED,
110 GSIGNOND_ERROR_CREDENTIALS_NOT_AVAILABLE,
111 GSIGNOND_ERROR_REFERENCE_NOT_FOUND,
113 GSIGNOND_ERROR_AUTH_SESSION_ERR = 300, /* Placeholder to rearrange enumeration - AuthSession/PluginInterface specific */
114 GSIGNOND_ERROR_MECHANISM_NOT_AVAILABLE,
115 GSIGNOND_ERROR_MISSING_DATA,
116 GSIGNOND_ERROR_INVALID_CREDENTIALS,
117 GSIGNOND_ERROR_NOT_AUTHORIZED,
118 GSIGNOND_ERROR_WRONG_STATE,
119 GSIGNOND_ERROR_OPERATION_NOT_SUPPORTED,
120 GSIGNOND_ERROR_NO_CONNECTION,
121 GSIGNOND_ERROR_NETWORK,
123 GSIGNOND_ERROR_RUNTIME,
124 GSIGNOND_ERROR_SESSION_CANCELED,
125 GSIGNOND_ERROR_TIMED_OUT,
126 GSIGNOND_ERROR_USER_INTERACTION,
127 GSIGNOND_ERROR_OPERATION_FAILED,
128 GSIGNOND_ERROR_ENCRYPTION_FAILED,
129 GSIGNOND_ERROR_TOS_NOT_ACCEPTED,
130 GSIGNOND_ERROR_FORGOT_PASSWORD,
131 GSIGNOND_ERROR_METHOD_OR_MECHANISM_NOT_ALLOWED,
132 GSIGNOND_ERROR_INCORRECT_DATE,
134 GSIGNOND_ERROR_USER_ERR = 400
138 This enum provides a list of errors that plugins and extensions can use.
140 <div class="variablelist"><table border="0">
141 <col align="left" valign="top">
144 <td><p><a name="GSIGNOND-ERROR-NONE:CAPS"></a><span class="term"><code class="literal">GSIGNOND_ERROR_NONE</code></span></p></td>
149 <td><p><a name="GSIGNOND-ERROR-UNKNOWN:CAPS"></a><span class="term"><code class="literal">GSIGNOND_ERROR_UNKNOWN</code></span></p></td>
150 <td>Catch-all for errors not distinguished by another code.
154 <td><p><a name="GSIGNOND-ERROR-INTERNAL-SERVER:CAPS"></a><span class="term"><code class="literal">GSIGNOND_ERROR_INTERNAL_SERVER</code></span></p></td>
155 <td>Signon Daemon internal error.
159 <td><p><a name="GSIGNOND-ERROR-INTERNAL-COMMUNICATION:CAPS"></a><span class="term"><code class="literal">GSIGNOND_ERROR_INTERNAL_COMMUNICATION</code></span></p></td>
160 <td>Communication with Signon Daemon error.
164 <td><p><a name="GSIGNOND-ERROR-PERMISSION-DENIED:CAPS"></a><span class="term"><code class="literal">GSIGNOND_ERROR_PERMISSION_DENIED</code></span></p></td>
165 <td>The operation cannot be performed due to insufficient client permissions.
169 <td><p><a name="GSIGNOND-ERROR-ENCRYPTION-FAILURE:CAPS"></a><span class="term"><code class="literal">GSIGNOND_ERROR_ENCRYPTION_FAILURE</code></span></p></td>
170 <td>Failure during data encryption/decryption.
174 <td><p><a name="GSIGNOND-ERROR-AUTH-SERVICE-ERR:CAPS"></a><span class="term"><code class="literal">GSIGNOND_ERROR_AUTH_SERVICE_ERR</code></span></p></td>
175 <td>Placeholder to rearrange enumeration - AuthService specific
179 <td><p><a name="GSIGNOND-ERROR-METHOD-NOT-KNOWN:CAPS"></a><span class="term"><code class="literal">GSIGNOND_ERROR_METHOD_NOT_KNOWN</code></span></p></td>
180 <td>The method with this name is not found.
184 <td><p><a name="GSIGNOND-ERROR-SERVICE-NOT-AVAILABLE:CAPS"></a><span class="term"><code class="literal">GSIGNOND_ERROR_SERVICE_NOT_AVAILABLE</code></span></p></td>
185 <td>The service is temporarily unavailable.
189 <td><p><a name="GSIGNOND-ERROR-INVALID-QUERY:CAPS"></a><span class="term"><code class="literal">GSIGNOND_ERROR_INVALID_QUERY</code></span></p></td>
190 <td>Parameters for the query are invalid.
194 <td><p><a name="GSIGNOND-ERROR-IDENTITY-ERR:CAPS"></a><span class="term"><code class="literal">GSIGNOND_ERROR_IDENTITY_ERR</code></span></p></td>
195 <td>Placeholder to rearrange enumeration - Identity specific
199 <td><p><a name="GSIGNOND-ERROR-METHOD-NOT-AVAILABLE:CAPS"></a><span class="term"><code class="literal">GSIGNOND_ERROR_METHOD_NOT_AVAILABLE</code></span></p></td>
200 <td>The requested method is not available.
204 <td><p><a name="GSIGNOND-ERROR-IDENTITY-NOT-FOUND:CAPS"></a><span class="term"><code class="literal">GSIGNOND_ERROR_IDENTITY_NOT_FOUND</code></span></p></td>
205 <td>The identity matching this Identity object was not found on the service.
209 <td><p><a name="GSIGNOND-ERROR-STORE-FAILED:CAPS"></a><span class="term"><code class="literal">GSIGNOND_ERROR_STORE_FAILED</code></span></p></td>
210 <td>Storing credentials failed.
214 <td><p><a name="GSIGNOND-ERROR-REMOVE-FAILED:CAPS"></a><span class="term"><code class="literal">GSIGNOND_ERROR_REMOVE_FAILED</code></span></p></td>
215 <td>Removing credentials failed.
219 <td><p><a name="GSIGNOND-ERROR-SIGN-OUT-FAILED:CAPS"></a><span class="term"><code class="literal">GSIGNOND_ERROR_SIGN_OUT_FAILED</code></span></p></td>
224 <td><p><a name="GSIGNOND-ERROR-IDENTITY-OPERATION-CANCELED:CAPS"></a><span class="term"><code class="literal">GSIGNOND_ERROR_IDENTITY_OPERATION_CANCELED</code></span></p></td>
225 <td>Identity operation was canceled by user.
229 <td><p><a name="GSIGNOND-ERROR-CREDENTIALS-NOT-AVAILABLE:CAPS"></a><span class="term"><code class="literal">GSIGNOND_ERROR_CREDENTIALS_NOT_AVAILABLE</code></span></p></td>
234 <td><p><a name="GSIGNOND-ERROR-REFERENCE-NOT-FOUND:CAPS"></a><span class="term"><code class="literal">GSIGNOND_ERROR_REFERENCE_NOT_FOUND</code></span></p></td>
235 <td>Trying to remove nonexistent reference.
239 <td><p><a name="GSIGNOND-ERROR-AUTH-SESSION-ERR:CAPS"></a><span class="term"><code class="literal">GSIGNOND_ERROR_AUTH_SESSION_ERR</code></span></p></td>
240 <td>Placeholder to rearrange enumeration - AuthSession/PluginInterface specific
244 <td><p><a name="GSIGNOND-ERROR-MECHANISM-NOT-AVAILABLE:CAPS"></a><span class="term"><code class="literal">GSIGNOND_ERROR_MECHANISM_NOT_AVAILABLE</code></span></p></td>
245 <td>The requested mechanism is not available.
249 <td><p><a name="GSIGNOND-ERROR-MISSING-DATA:CAPS"></a><span class="term"><code class="literal">GSIGNOND_ERROR_MISSING_DATA</code></span></p></td>
250 <td>The SessionData object does not contain necessary information.
254 <td><p><a name="GSIGNOND-ERROR-INVALID-CREDENTIALS:CAPS"></a><span class="term"><code class="literal">GSIGNOND_ERROR_INVALID_CREDENTIALS</code></span></p></td>
255 <td>The supplied credentials are invalid for the mechanism implementation.
259 <td><p><a name="GSIGNOND-ERROR-NOT-AUTHORIZED:CAPS"></a><span class="term"><code class="literal">GSIGNOND_ERROR_NOT_AUTHORIZED</code></span></p></td>
260 <td>Authorization failed.
264 <td><p><a name="GSIGNOND-ERROR-WRONG-STATE:CAPS"></a><span class="term"><code class="literal">GSIGNOND_ERROR_WRONG_STATE</code></span></p></td>
265 <td>An operation method has been called in a wrong state.
269 <td><p><a name="GSIGNOND-ERROR-OPERATION-NOT-SUPPORTED:CAPS"></a><span class="term"><code class="literal">GSIGNOND_ERROR_OPERATION_NOT_SUPPORTED</code></span></p></td>
270 <td>The operation is not supported by the mechanism implementation.
274 <td><p><a name="GSIGNOND-ERROR-NO-CONNECTION:CAPS"></a><span class="term"><code class="literal">GSIGNOND_ERROR_NO_CONNECTION</code></span></p></td>
275 <td>No Network connetion.
279 <td><p><a name="GSIGNOND-ERROR-NETWORK:CAPS"></a><span class="term"><code class="literal">GSIGNOND_ERROR_NETWORK</code></span></p></td>
280 <td>Network connetion failed.
284 <td><p><a name="GSIGNOND-ERROR-SSL:CAPS"></a><span class="term"><code class="literal">GSIGNOND_ERROR_SSL</code></span></p></td>
285 <td>Ssl connection failed.
289 <td><p><a name="GSIGNOND-ERROR-RUNTIME:CAPS"></a><span class="term"><code class="literal">GSIGNOND_ERROR_RUNTIME</code></span></p></td>
290 <td>Casting SessionData into subclass failed
294 <td><p><a name="GSIGNOND-ERROR-SESSION-CANCELED:CAPS"></a><span class="term"><code class="literal">GSIGNOND_ERROR_SESSION_CANCELED</code></span></p></td>
295 <td>Challenge was cancelled.
299 <td><p><a name="GSIGNOND-ERROR-TIMED-OUT:CAPS"></a><span class="term"><code class="literal">GSIGNOND_ERROR_TIMED_OUT</code></span></p></td>
300 <td>Challenge was timed out.
304 <td><p><a name="GSIGNOND-ERROR-USER-INTERACTION:CAPS"></a><span class="term"><code class="literal">GSIGNOND_ERROR_USER_INTERACTION</code></span></p></td>
305 <td>User interaction dialog failed
309 <td><p><a name="GSIGNOND-ERROR-OPERATION-FAILED:CAPS"></a><span class="term"><code class="literal">GSIGNOND_ERROR_OPERATION_FAILED</code></span></p></td>
310 <td>Temporary failure in authentication.
314 <td><p><a name="GSIGNOND-ERROR-ENCRYPTION-FAILED:CAPS"></a><span class="term"><code class="literal">GSIGNOND_ERROR_ENCRYPTION_FAILED</code></span></p></td>
315 <td>Failure during data encryption/decryption.
319 <td><p><a name="GSIGNOND-ERROR-TOS-NOT-ACCEPTED:CAPS"></a><span class="term"><code class="literal">GSIGNOND_ERROR_TOS_NOT_ACCEPTED</code></span></p></td>
320 <td>User declined Terms of Service.
324 <td><p><a name="GSIGNOND-ERROR-FORGOT-PASSWORD:CAPS"></a><span class="term"><code class="literal">GSIGNOND_ERROR_FORGOT_PASSWORD</code></span></p></td>
325 <td>User requested reset password sequence.
329 <td><p><a name="GSIGNOND-ERROR-METHOD-OR-MECHANISM-NOT-ALLOWED:CAPS"></a><span class="term"><code class="literal">GSIGNOND_ERROR_METHOD_OR_MECHANISM_NOT_ALLOWED</code></span></p></td>
330 <td>Method or mechanism not allowed for this identity.
334 <td><p><a name="GSIGNOND-ERROR-INCORRECT-DATE:CAPS"></a><span class="term"><code class="literal">GSIGNOND_ERROR_INCORRECT_DATE</code></span></p></td>
335 <td>Date time incorrect on device.
339 <td><p><a name="GSIGNOND-ERROR-USER-ERR:CAPS"></a><span class="term"><code class="literal">GSIGNOND_ERROR_USER_ERR</code></span></p></td>
340 <td>Placeholder to rearrange enumeration - User space specific
347 <div class="refsect2">
348 <a name="gsignond-error-new-from-variant"></a><h3>gsignond_error_new_from_variant ()</h3>
349 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="returnvalue">GError</span></a> * gsignond_error_new_from_variant (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *var</code></em>);</pre>
351 Converts the GVariant to GError.
353 <div class="variablelist"><table border="0">
354 <col align="left" valign="top">
357 <td><p><span class="term"><em class="parameter"><code>var</code></em> :</span></p></td>
358 <td>instance of <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a>
362 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
364 <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> object if successful, NULL otherwise. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
371 <div class="refsect2">
372 <a name="gsignond-error-quark"></a><h3>gsignond_error_quark ()</h3>
373 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="returnvalue">GQuark</span></a> gsignond_error_quark (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
375 Creates and returns a domain for GSignond errors.
379 <div class="refsect2">
380 <a name="gsignond-error-to-variant"></a><h3>gsignond_error_to_variant ()</h3>
381 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> * gsignond_error_to_variant (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> *error</code></em>);</pre>
383 Converts the GError to GVariant.
385 <div class="variablelist"><table border="0">
386 <col align="left" valign="top">
389 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
390 <td>instance of <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>
394 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
396 <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> object if successful, NULL otherwise. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
403 <div class="refsect2">
404 <a name="gsignond-get-gerror-for-id"></a><h3>gsignond_get_gerror_for_id()</h3>
405 <pre class="programlisting">#define gsignond_get_gerror_for_id(err, message, args...)</pre>
407 A helper macro that creates a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> with the proper gsignond domain
409 <div class="variablelist"><table border="0">
410 <col align="left" valign="top">
413 <td><p><span class="term"><em class="parameter"><code>err</code></em> :</span></p></td>
414 <td>A <a class="link" href="gsignond-Errors.html#GSignondError" title="enum GSignondError"><span class="type">GSignondError</span></a> specifying the error</td>
417 <td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
418 <td>Format string for the error message</td>
421 <td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
422 <td>parameters for the error string</td>
431 Generated by GTK-Doc V1.19.1</div>