<span class="returnvalue">void</span>
</td>
<td class="function_name">
-<span class="c_punctuation">(</span><a class="link" href="SignonIdentity.html#SignonIdentityInfoCb" title="SignonIdentityInfoCb ()">*SignonIdentityInfoCb</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
+<span class="c_punctuation">(</span><a class="link" href="SignonIdentity.html#SignonIdentityVoidCb" title="SignonIdentityVoidCb ()">*SignonIdentityVoidCb</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
-<span class="returnvalue">void</span>
+<a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="returnvalue">SignonIdentity</span></a> *
</td>
<td class="function_name">
-<span class="c_punctuation">(</span><a class="link" href="SignonIdentity.html#SignonIdentitySessionReadyCb" title="SignonIdentitySessionReadyCb ()">*SignonIdentitySessionReadyCb</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
+<a class="link" href="SignonIdentity.html#signon-identity-new-from-db" title="signon_identity_new_from_db ()">signon_identity_new_from_db</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
-<span class="returnvalue">void</span>
+<a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="returnvalue">SignonIdentity</span></a> *
</td>
<td class="function_name">
-<span class="c_punctuation">(</span><a class="link" href="SignonIdentity.html#SignonIdentityStoreCredentialsCb" title="SignonIdentityStoreCredentialsCb ()">*SignonIdentityStoreCredentialsCb</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
+<a class="link" href="SignonIdentity.html#signon-identity-new" title="signon_identity_new ()">signon_identity_new</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
-<span class="returnvalue">void</span>
+<a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="returnvalue">SignonIdentity</span></a> *
</td>
<td class="function_name">
-<span class="c_punctuation">(</span><a class="link" href="SignonIdentity.html#SignonIdentityVerifyCb" title="SignonIdentityVerifyCb ()">*SignonIdentityVerifyCb</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
+<a class="link" href="SignonIdentity.html#signon-identity-new-with-context-from-db" title="signon_identity_new_with_context_from_db ()">signon_identity_new_with_context_from_db</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
-<span class="returnvalue">void</span>
+<a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="returnvalue">SignonIdentity</span></a> *
</td>
<td class="function_name">
-<span class="c_punctuation">(</span><a class="link" href="SignonIdentity.html#SignonIdentityVoidCb" title="SignonIdentityVoidCb ()">*SignonIdentityVoidCb</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
+<a class="link" href="SignonIdentity.html#signon-identity-new-with-context" title="signon_identity_new_with_context ()">signon_identity_new_with_context</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
+<td class="function_type">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="returnvalue">GError</span></a> *
</td>
<td class="function_name">
-<a class="link" href="SignonIdentity.html#signon-identity-add-reference" title="signon_identity_add_reference ()">signon_identity_add_reference</a> <span class="c_punctuation">()</span>
+<a class="link" href="SignonIdentity.html#signon-identity-get-last-error" title="signon_identity_get_last_error ()">signon_identity_get_last_error</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<span class="returnvalue">void</span>
</td>
<td class="function_name">
-<a class="link" href="SignonIdentity.html#signon-identity-get-auth-session" title="signon_identity_get_auth_session ()">signon_identity_get_auth_session</a> <span class="c_punctuation">()</span>
+<span class="c_punctuation">(</span><a class="link" href="SignonIdentity.html#SignonIdentityStoreCredentialsCb" title="SignonIdentityStoreCredentialsCb ()">*SignonIdentityStoreCredentialsCb</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td class="function_type">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="returnvalue">GError</span></a> *
+<td class="function_type">
+<span class="returnvalue">void</span>
</td>
<td class="function_name">
-<a class="link" href="SignonIdentity.html#signon-identity-get-last-error" title="signon_identity_get_last_error ()">signon_identity_get_last_error</a> <span class="c_punctuation">()</span>
+<a class="link" href="SignonIdentity.html#signon-identity-store-credentials-with-info" title="signon_identity_store_credentials_with_info ()">signon_identity_store_credentials_with_info</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
-<a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="returnvalue">SignonIdentity</span></a> *
+<span class="returnvalue">void</span>
</td>
<td class="function_name">
-<a class="link" href="SignonIdentity.html#signon-identity-new" title="signon_identity_new ()">signon_identity_new</a> <span class="c_punctuation">()</span>
+<a class="link" href="SignonIdentity.html#signon-identity-store-credentials-with-args" title="signon_identity_store_credentials_with_args ()">signon_identity_store_credentials_with_args</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
-<a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="returnvalue">SignonIdentity</span></a> *
+<span class="returnvalue">void</span>
</td>
<td class="function_name">
-<a class="link" href="SignonIdentity.html#signon-identity-new-from-db" title="signon_identity_new_from_db ()">signon_identity_new_from_db</a> <span class="c_punctuation">()</span>
+<span class="c_punctuation">(</span><a class="link" href="SignonIdentity.html#SignonIdentityVerifyCb" title="SignonIdentityVerifyCb ()">*SignonIdentityVerifyCb</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
-<a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="returnvalue">SignonIdentity</span></a> *
+<span class="returnvalue">void</span>
</td>
<td class="function_name">
-<a class="link" href="SignonIdentity.html#signon-identity-new-with-context" title="signon_identity_new_with_context ()">signon_identity_new_with_context</a> <span class="c_punctuation">()</span>
+<a class="link" href="SignonIdentity.html#signon-identity-verify-secret" title="signon_identity_verify_secret ()">signon_identity_verify_secret</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
-<a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="returnvalue">SignonIdentity</span></a> *
+<span class="returnvalue">void</span>
</td>
<td class="function_name">
-<a class="link" href="SignonIdentity.html#signon-identity-new-with-context-from-db" title="signon_identity_new_with_context_from_db ()">signon_identity_new_with_context_from_db</a> <span class="c_punctuation">()</span>
+<span class="c_punctuation">(</span><a class="link" href="SignonIdentity.html#SignonIdentityInfoCb" title="SignonIdentityInfoCb ()">*SignonIdentityInfoCb</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<span class="returnvalue">void</span>
</td>
<td class="function_name">
-<a class="link" href="SignonIdentity.html#signon-identity-remove-reference" title="signon_identity_remove_reference ()">signon_identity_remove_reference</a> <span class="c_punctuation">()</span>
+<a class="link" href="SignonIdentity.html#signon-identity-signout" title="signon_identity_signout ()">signon_identity_signout</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<span class="returnvalue">void</span>
</td>
<td class="function_name">
-<a class="link" href="SignonIdentity.html#signon-identity-signout" title="signon_identity_signout ()">signon_identity_signout</a> <span class="c_punctuation">()</span>
+<a class="link" href="SignonIdentity.html#signon-identity-add-reference" title="signon_identity_add_reference ()">signon_identity_add_reference</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<span class="returnvalue">void</span>
</td>
<td class="function_name">
-<a class="link" href="SignonIdentity.html#signon-identity-store-credentials-with-args" title="signon_identity_store_credentials_with_args ()">signon_identity_store_credentials_with_args</a> <span class="c_punctuation">()</span>
+<a class="link" href="SignonIdentity.html#signon-identity-remove-reference" title="signon_identity_remove_reference ()">signon_identity_remove_reference</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<span class="returnvalue">void</span>
</td>
<td class="function_name">
-<a class="link" href="SignonIdentity.html#signon-identity-store-credentials-with-info" title="signon_identity_store_credentials_with_info ()">signon_identity_store_credentials_with_info</a> <span class="c_punctuation">()</span>
+<span class="c_punctuation">(</span><a class="link" href="SignonIdentity.html#SignonIdentitySessionReadyCb" title="SignonIdentitySessionReadyCb ()">*SignonIdentitySessionReadyCb</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<span class="returnvalue">void</span>
</td>
<td class="function_name">
-<a class="link" href="SignonIdentity.html#signon-identity-verify-secret" title="signon_identity_verify_secret ()">signon_identity_verify_secret</a> <span class="c_punctuation">()</span>
+<a class="link" href="SignonIdentity.html#signon-identity-get-auth-session" title="signon_identity_get_auth_session ()">signon_identity_get_auth_session</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
<tbody>
<tr>
<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="SignonIdentity.html#SignonIdentity-struct" title="struct SignonIdentity">SignonIdentity</a></td>
+<td class="function_name"><a class="link" href="SignonIdentity.html#SignonIdentityClass" title="struct SignonIdentityClass">SignonIdentityClass</a></td>
</tr>
<tr>
<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="SignonIdentity.html#SignonIdentityClass" title="struct SignonIdentityClass">SignonIdentityClass</a></td>
+<td class="function_name"><a class="link" href="SignonIdentity.html#SignonIdentity-struct" title="struct SignonIdentity">SignonIdentity</a></td>
</tr>
<tr>
<td class="typedef_keyword">typedef</td>
-<td class="function_name"><a class="link" href="SignonIdentity.html#SignonIdentityReferenceAddedCb" title="SignonIdentityReferenceAddedCb">SignonIdentityReferenceAddedCb</a></td>
+<td class="function_name"><a class="link" href="SignonIdentity.html#SignonIdentityRemovedCb" title="SignonIdentityRemovedCb">SignonIdentityRemovedCb</a></td>
</tr>
<tr>
<td class="typedef_keyword">typedef</td>
-<td class="function_name"><a class="link" href="SignonIdentity.html#SignonIdentityReferenceRemovedCb" title="SignonIdentityReferenceRemovedCb">SignonIdentityReferenceRemovedCb</a></td>
+<td class="function_name"><a class="link" href="SignonIdentity.html#SignonIdentitySignedOutCb" title="SignonIdentitySignedOutCb">SignonIdentitySignedOutCb</a></td>
</tr>
<tr>
<td class="typedef_keyword">typedef</td>
-<td class="function_name"><a class="link" href="SignonIdentity.html#SignonIdentityRemovedCb" title="SignonIdentityRemovedCb">SignonIdentityRemovedCb</a></td>
+<td class="function_name"><a class="link" href="SignonIdentity.html#SignonIdentityReferenceAddedCb" title="SignonIdentityReferenceAddedCb">SignonIdentityReferenceAddedCb</a></td>
</tr>
<tr>
<td class="typedef_keyword">typedef</td>
-<td class="function_name"><a class="link" href="SignonIdentity.html#SignonIdentitySignedOutCb" title="SignonIdentitySignedOutCb">SignonIdentitySignedOutCb</a></td>
+<td class="function_name"><a class="link" href="SignonIdentity.html#SignonIdentityReferenceRemovedCb" title="SignonIdentityReferenceRemovedCb">SignonIdentityReferenceRemovedCb</a></td>
</tr>
</tbody>
</table></div>
<div class="refsect1">
<a name="SignonIdentity.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
-<a name="SignonIdentityInfoCb"></a><h3>SignonIdentityInfoCb ()</h3>
+<a name="SignonIdentityVoidCb"></a><h3>SignonIdentityVoidCb ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-<span class="c_punctuation">(</span>*SignonIdentityInfoCb<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a> *self</code></em>,
- <em class="parameter"><code><a class="link" href="SignonIdentityInfo.html" title="SignonIdentityInfo"><span class="type">SignonIdentityInfo</span></a> *info</code></em>,
+<span class="c_punctuation">(</span>*SignonIdentityVoidCb<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a> *self</code></em>,
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> *error</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
-<p>Callback to be passed to <a class="link" href="SignonIdentity.html#signon-identity-query-info" title="signon_identity_query_info ()"><code class="function">signon_identity_query_info()</code></a>.</p>
+<p>Generic callback to be passed to several <a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a> methods.</p>
<div class="refsect3">
<a name="id-1.3.3.3.9.2.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td class="parameter_name"><p>info</p></td>
-<td class="parameter_description"><p> the <a class="link" href="SignonIdentityInfo.html" title="SignonIdentityInfo"><span class="type">SignonIdentityInfo</span></a> for <em class="parameter"><code>self</code></em>
-. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
-</tr>
-<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> if an error occurred, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> otherwise.</p></td>
<td class="parameter_annotations"> </td>
</div>
<hr>
<div class="refsect2">
-<a name="SignonIdentitySessionReadyCb"></a><h3>SignonIdentitySessionReadyCb ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-<span class="c_punctuation">(</span>*SignonIdentitySessionReadyCb<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="SignonAuthSession.html" title="SignonAuthSession"><span class="type">SignonAuthSession</span></a> *self</code></em>,
- <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>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GDBusConnection.html"><span class="type">GDBusConnection</span></a> *connection</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *bus_name</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>);</pre>
-<p>Callback to be passed to <a class="link" href="SignonIdentity.html#signon-identity-get-auth-session" title="signon_identity_get_auth_session ()"><code class="function">signon_identity_get_auth_session()</code></a>.</p>
+<a name="signon-identity-new-from-db"></a><h3>signon_identity_new_from_db ()</h3>
+<pre class="programlisting"><a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="returnvalue">SignonIdentity</span></a> *
+signon_identity_new_from_db (<em class="parameter"><code><span class="type">guint32</span> id</code></em>);</pre>
+<p>Construct an identity object associated with an existing identity
+record.
+This is essentially equivalent to calling
+<a class="link" href="SignonIdentity.html#signon-identity-new-with-context-from-db" title="signon_identity_new_with_context_from_db ()"><code class="function">signon_identity_new_with_context_from_db()</code></a> and passing <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> as the
+application context.</p>
+<p>Applications can determine the <em class="parameter"><code>id</code></em>
+ either by enumerating the identities with
+<a class="link" href="SignonAuthService.html#signon-auth-service-query-identities" title="signon_auth_service_query_identities ()"><code class="function">signon_auth_service_query_identities()</code></a> (if they're the owner of the identity)
+or via other means (such as the system's accounts service, or an application
+configuration).</p>
<div class="refsect3">
-<a name="id-1.3.3.3.9.3.5"></a><h4>Parameters</h4>
+<a name="id-1.3.3.3.9.3.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the <a class="link" href="SignonAuthSession.html" title="SignonAuthSession"><span class="type">SignonAuthSession</span></a>.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>error</p></td>
-<td class="parameter_description"><p>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> if an error occurred, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> otherwise.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>connection</p></td>
-<td class="parameter_description"><p>a <a href="http://library.gnome.org/devel/gio/unstable/GDBusConnection.html"><span class="type">GDBusConnection</span></a> for the session.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>bus_name</p></td>
-<td class="parameter_description"><p>a D-Bus bus name for the session.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>object_path</p></td>
-<td class="parameter_description"><p>a D-Bus object path for the session.</p></td>
+<tbody><tr>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>identity ID.</p></td>
<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.3.3.3.9.3.7"></a><h4>Returns</h4>
+<p> an instance of a <a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a>.</p>
+<p></p>
+</div>
</div>
<hr>
<div class="refsect2">
-<a name="SignonIdentityStoreCredentialsCb"></a><h3>SignonIdentityStoreCredentialsCb ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-<span class="c_punctuation">(</span>*SignonIdentityStoreCredentialsCb<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a> *self</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> id</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> *error</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
-<p>Callback to be passed to <a class="link" href="SignonIdentity.html#signon-identity-store-credentials-with-args" title="signon_identity_store_credentials_with_args ()"><code class="function">signon_identity_store_credentials_with_args()</code></a> or
-<a class="link" href="SignonIdentity.html#signon-identity-store-credentials-with-info" title="signon_identity_store_credentials_with_info ()"><code class="function">signon_identity_store_credentials_with_info()</code></a>.</p>
+<a name="signon-identity-new"></a><h3>signon_identity_new ()</h3>
+<pre class="programlisting"><a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="returnvalue">SignonIdentity</span></a> *
+signon_identity_new ();</pre>
+<p>Construct a new, empty, identity object.
+This is essentially equivalent to calling <a class="link" href="SignonIdentity.html#signon-identity-new-with-context" title="signon_identity_new_with_context ()"><code class="function">signon_identity_new_with_context()</code></a>
+and passing <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> as the application context.</p>
+<div class="refsect3">
+<a name="id-1.3.3.3.9.4.5"></a><h4>Returns</h4>
+<p> an instance of an <a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a>.</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="signon-identity-new-with-context-from-db"></a><h3>signon_identity_new_with_context_from_db ()</h3>
+<pre class="programlisting"><a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="returnvalue">SignonIdentity</span></a> *
+signon_identity_new_with_context_from_db
+ (<em class="parameter"><code><span class="type">guint32</span> id</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *application_context</code></em>);</pre>
+<p>Construct an identity object associated with an existing identity
+record. See <a class="link" href="SignonSecurityContext.html" title="SignonSecurityContext"><span class="type">SignonSecurityContext</span></a> for a discussion of <em class="parameter"><code>application_context</code></em>
+ contents.
+Together with the system context it is used to determine by the gSSO daemon
+if the application can access the identity (the application needs to be either the
+identity's owner or to be present on the ACL).</p>
+<p>Applications can determine the <em class="parameter"><code>id</code></em>
+ either by enumerating the identities with
+<a class="link" href="SignonAuthService.html#signon-auth-service-query-identities" title="signon_auth_service_query_identities ()"><code class="function">signon_auth_service_query_identities()</code></a> (if they're the owner of the identity)
+or via other means (such as the system's accounts service, or an application
+configuration).</p>
<div class="refsect3">
-<a name="id-1.3.3.3.9.4.5"></a><h4>Parameters</h4>
+<a name="id-1.3.3.3.9.5.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
</colgroup>
<tbody>
<tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the <a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a>.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
<td class="parameter_name"><p>id</p></td>
-<td class="parameter_description"><p>the numeric ID of the identity in the database.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>error</p></td>
-<td class="parameter_description"><p>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> if an error occurred, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> otherwise.</p></td>
+<td class="parameter_description"><p>identity ID.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td class="parameter_name"><p>user_data</p></td>
-<td class="parameter_description"><p>the user data that was passed when installing this callback.</p></td>
+<td class="parameter_name"><p>application_context</p></td>
+<td class="parameter_description"><p>application security context, can be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.3.3.3.9.5.7"></a><h4>Returns</h4>
+<p> an instance of a <a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a>.</p>
+<p></p>
+</div>
</div>
<hr>
<div class="refsect2">
-<a name="SignonIdentityVerifyCb"></a><h3>SignonIdentityVerifyCb ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-<span class="c_punctuation">(</span>*SignonIdentityVerifyCb<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a> *self</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> valid</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> *error</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
-<p>Callback to be passed to <a class="link" href="SignonIdentity.html#signon-identity-verify-secret" title="signon_identity_verify_secret ()"><code class="function">signon_identity_verify_secret()</code></a>.</p>
+<a name="signon-identity-new-with-context"></a><h3>signon_identity_new_with_context ()</h3>
+<pre class="programlisting"><a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="returnvalue">SignonIdentity</span></a> *
+signon_identity_new_with_context (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *application_context</code></em>);</pre>
+<p>Construct a new, empty, identity object. See <a class="link" href="SignonSecurityContext.html" title="SignonSecurityContext"><span class="type">SignonSecurityContext</span></a> for a
+discussion of <em class="parameter"><code>application_context</code></em>
+ contents. <em class="parameter"><code>application_context</code></em>
+ is used to set the identity's owner
+if the identity is stored to the database with <a class="link" href="SignonIdentity.html#signon-identity-store-credentials-with-args" title="signon_identity_store_credentials_with_args ()"><code class="function">signon_identity_store_credentials_with_args()</code></a>
+or <a class="link" href="SignonIdentity.html#signon-identity-store-credentials-with-info" title="signon_identity_store_credentials_with_info ()"><code class="function">signon_identity_store_credentials_with_info()</code></a>.</p>
<div class="refsect3">
-<a name="id-1.3.3.3.9.5.5"></a><h4>Parameters</h4>
+<a name="id-1.3.3.3.9.6.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the <a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a>.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>valid</p></td>
-<td class="parameter_description"><p>whether the secret is valid.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>error</p></td>
-<td class="parameter_description"><p>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> if an error occurred, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> otherwise.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>user_data</p></td>
-<td class="parameter_description"><p>the user data that was passed when installing this callback.</p></td>
+<tbody><tr>
+<td class="parameter_name"><p>application_context</p></td>
+<td class="parameter_description"><p>application security context, can be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="id-1.3.3.3.9.6.6"></a><h4>Returns</h4>
+<p> an instance of an <a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a>.</p>
+<p></p>
+</div>
</div>
<hr>
<div class="refsect2">
-<a name="SignonIdentityVoidCb"></a><h3>SignonIdentityVoidCb ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-<span class="c_punctuation">(</span>*SignonIdentityVoidCb<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a> *self</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> *error</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
-<p>Generic callback to be passed to several <a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a> methods.</p>
+<a name="signon-identity-get-last-error"></a><h3>signon_identity_get_last_error ()</h3>
+<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="returnvalue">GError</span></a> *
+signon_identity_get_last_error (<em class="parameter"><code><a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a> *identity</code></em>);</pre>
+<p>Get the most recent error that occurred on <em class="parameter"><code>identity</code></em>
+.</p>
<div class="refsect3">
-<a name="id-1.3.3.3.9.6.5"></a><h4>Parameters</h4>
+<a name="id-1.3.3.3.9.7.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>self</p></td>
+<tbody><tr>
+<td class="parameter_name"><p>identity</p></td>
<td class="parameter_description"><p>the <a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a>.</p></td>
<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>error</p></td>
-<td class="parameter_description"><p>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> if an error occurred, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> otherwise.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>user_data</p></td>
-<td class="parameter_description"><p>the user data that was passed when installing this callback.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
+</tr></tbody>
</table></div>
</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="signon-identity-add-reference"></a><h3>signon_identity_add_reference ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-signon_identity_add_reference (<em class="parameter"><code><a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a> *self</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *reference</code></em>,
- <em class="parameter"><code><a class="link" href="SignonIdentity.html#SignonIdentityReferenceAddedCb" title="SignonIdentityReferenceAddedCb"><span class="type">SignonIdentityReferenceAddedCb</span></a> cb</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
-<p>Adds named reference to identity. Not currently supported by gSSO.</p>
<div class="refsect3">
-<a name="id-1.3.3.3.9.7.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the <a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a>.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>reference</p></td>
-<td class="parameter_description"><p>reference to be added</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>cb</p></td>
-<td class="parameter_description"><p>callback</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>user_data</p></td>
-<td class="parameter_description"><p>user_data.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
+<a name="id-1.3.3.3.9.7.6"></a><h4>Returns</h4>
+<p> a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> containing the most recent error, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on failure.</p>
+<p></p>
</div>
</div>
<hr>
</div>
<hr>
<div class="refsect2">
-<a name="signon-identity-get-auth-session"></a><h3>signon_identity_get_auth_session ()</h3>
+<a name="SignonIdentityStoreCredentialsCb"></a><h3>SignonIdentityStoreCredentialsCb ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-signon_identity_get_auth_session (<em class="parameter"><code><a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a> *self</code></em>,
- <em class="parameter"><code><a class="link" href="SignonAuthSession.html" title="SignonAuthSession"><span class="type">SignonAuthSession</span></a> *session</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *method</code></em>,
- <em class="parameter"><code><a class="link" href="SignonIdentity.html#SignonIdentitySessionReadyCb" title="SignonIdentitySessionReadyCb ()"><span class="type">SignonIdentitySessionReadyCb</span></a> cb</code></em>);</pre>
-<p>Obtain a remote object for a local session object. Should not be used by
-applications.</p>
+<span class="c_punctuation">(</span>*SignonIdentityStoreCredentialsCb<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a> *self</code></em>,
+ <em class="parameter"><code><span class="type">guint32</span> id</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> *error</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Callback to be passed to <a class="link" href="SignonIdentity.html#signon-identity-store-credentials-with-args" title="signon_identity_store_credentials_with_args ()"><code class="function">signon_identity_store_credentials_with_args()</code></a> or
+<a class="link" href="SignonIdentity.html#signon-identity-store-credentials-with-info" title="signon_identity_store_credentials_with_info ()"><code class="function">signon_identity_store_credentials_with_info()</code></a>.</p>
<div class="refsect3">
<a name="id-1.3.3.3.9.9.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td class="parameter_name"><p>session</p></td>
-<td class="parameter_description"><p>the <a class="link" href="SignonAuthSession.html" title="SignonAuthSession"><span class="type">SignonAuthSession</span></a> object to get the remote object for.</p></td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>the numeric ID of the identity in the database.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td class="parameter_name"><p>method</p></td>
-<td class="parameter_description"><p>method name for the session.</p></td>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> if an error occurred, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> otherwise.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td class="parameter_name"><p>cb</p></td>
-<td class="parameter_description"><p> completion callback. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="The callback is valid until first called."><span class="acronym">scope async</span></acronym>]</span></td>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>the user data that was passed when installing this callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
-<a name="signon-identity-get-last-error"></a><h3>signon_identity_get_last_error ()</h3>
-<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="returnvalue">GError</span></a> *
-signon_identity_get_last_error (<em class="parameter"><code><a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a> *identity</code></em>);</pre>
-<p>Get the most recent error that occurred on <em class="parameter"><code>identity</code></em>
-.</p>
+<a name="signon-identity-store-credentials-with-info"></a><h3>signon_identity_store_credentials_with_info ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+signon_identity_store_credentials_with_info
+ (<em class="parameter"><code><a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a class="link" href="SignonIdentityInfo.html" title="SignonIdentityInfo"><span class="type">SignonIdentityInfo</span></a> *info</code></em>,
+ <em class="parameter"><code><a class="link" href="SignonIdentity.html#SignonIdentityStoreCredentialsCb" title="SignonIdentityStoreCredentialsCb ()"><span class="type">SignonIdentityStoreCredentialsCb</span></a> cb</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Stores the data contained in <em class="parameter"><code>info</code></em>
+ into the identity record in the database.
+See above for the detailed discussion of the meaning of various fields and
+their defaults.</p>
<div class="refsect3">
<a name="id-1.3.3.3.9.10.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>identity</p></td>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a>.</p></td>
<td class="parameter_annotations"> </td>
-</tr></tbody>
+</tr>
+<tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>the <a class="link" href="SignonIdentityInfo.html" title="SignonIdentityInfo"><span class="type">SignonIdentityInfo</span></a> data to store.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cb</p></td>
+<td class="parameter_description"><p> callback. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="The callback is valid until first called."><span class="acronym">scope async</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user_data.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
</table></div>
</div>
-<div class="refsect3">
-<a name="id-1.3.3.3.9.10.6"></a><h4>Returns</h4>
-<p> a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> containing the most recent error, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on failure.</p>
-<p></p>
-</div>
</div>
<hr>
<div class="refsect2">
-<a name="signon-identity-new"></a><h3>signon_identity_new ()</h3>
-<pre class="programlisting"><a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="returnvalue">SignonIdentity</span></a> *
-signon_identity_new ();</pre>
-<p>Construct a new, empty, identity object.
-This is essentially equivalent to calling <a class="link" href="SignonIdentity.html#signon-identity-new-with-context" title="signon_identity_new_with_context ()"><code class="function">signon_identity_new_with_context()</code></a>
-and passing <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> as the application context.</p>
+<a name="signon-identity-store-credentials-with-args"></a><h3>signon_identity_store_credentials_with_args ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+signon_identity_store_credentials_with_args
+ (<em class="parameter"><code><a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *username</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *secret</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> store_secret</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> *methods</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *caption</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> * const *realms</code></em>,
+ <em class="parameter"><code>const <a class="link" href="SignonSecurityContext.html" title="SignonSecurityContext"><span class="type">SignonSecurityContext</span></a> *owner</code></em>,
+ <em class="parameter"><code><a class="link" href="SignonSecurityContext.html#SignonSecurityContextList" title="SignonSecurityContextList"><span class="type">SignonSecurityContextList</span></a> *access_control_list</code></em>,
+ <em class="parameter"><code><a class="link" href="SignonIdentityInfo.html#SignonIdentityType" title="enum SignonIdentityType"><span class="type">SignonIdentityType</span></a> type</code></em>,
+ <em class="parameter"><code><a class="link" href="SignonIdentity.html#SignonIdentityStoreCredentialsCb" title="SignonIdentityStoreCredentialsCb ()"><span class="type">SignonIdentityStoreCredentialsCb</span></a> cb</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Stores the given data into the identity. See above for the meaning
+of the specific fields.</p>
<div class="refsect3">
-<a name="id-1.3.3.3.9.11.5"></a><h4>Returns</h4>
-<p> an instance of an <a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a>.</p>
-<p></p>
+<a name="id-1.3.3.3.9.11.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>the <a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>username</p></td>
+<td class="parameter_description"><p> username. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>secret</p></td>
+<td class="parameter_description"><p> secret. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>store_secret</p></td>
+<td class="parameter_description"><p>whether gSSO should save the password in secret storage.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>methods</p></td>
+<td class="parameter_description"><p> allowed methods. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8 GStrv]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>caption</p></td>
+<td class="parameter_description"><p> caption. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>realms</p></td>
+<td class="parameter_description"><p> allowed realms. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>owner</p></td>
+<td class="parameter_description"><p> owner. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>access_control_list</p></td>
+<td class="parameter_description"><p> access control list. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the type of the identity.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cb</p></td>
+<td class="parameter_description"><p> callback. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="The callback is valid until first called."><span class="acronym">scope async</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user_data.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
</div>
</div>
<hr>
<div class="refsect2">
-<a name="signon-identity-new-from-db"></a><h3>signon_identity_new_from_db ()</h3>
-<pre class="programlisting"><a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="returnvalue">SignonIdentity</span></a> *
-signon_identity_new_from_db (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> id</code></em>);</pre>
-<p>Construct an identity object associated with an existing identity
-record.
-This is essentially equivalent to calling
-<a class="link" href="SignonIdentity.html#signon-identity-new-with-context-from-db" title="signon_identity_new_with_context_from_db ()"><code class="function">signon_identity_new_with_context_from_db()</code></a> and passing <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> as the
-application context.</p>
-<p>Applications can determine the <em class="parameter"><code>id</code></em>
- either by enumerating the identities with
-<a class="link" href="SignonAuthService.html#signon-auth-service-query-identities" title="signon_auth_service_query_identities ()"><code class="function">signon_auth_service_query_identities()</code></a> (if they're the owner of the identity)
-or via other means (such as the system's accounts service, or an application
-configuration).</p>
+<a name="SignonIdentityVerifyCb"></a><h3>SignonIdentityVerifyCb ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+<span class="c_punctuation">(</span>*SignonIdentityVerifyCb<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> valid</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> *error</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Callback to be passed to <a class="link" href="SignonIdentity.html#signon-identity-verify-secret" title="signon_identity_verify_secret ()"><code class="function">signon_identity_verify_secret()</code></a>.</p>
<div class="refsect3">
-<a name="id-1.3.3.3.9.12.6"></a><h4>Parameters</h4>
+<a name="id-1.3.3.3.9.12.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>id</p></td>
-<td class="parameter_description"><p>identity ID.</p></td>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>the <a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a>.</p></td>
<td class="parameter_annotations"> </td>
-</tr></tbody>
+</tr>
+<tr>
+<td class="parameter_name"><p>valid</p></td>
+<td class="parameter_description"><p>whether the secret is valid.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> if an error occurred, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> otherwise.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>the user data that was passed when installing this callback.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
</table></div>
</div>
-<div class="refsect3">
-<a name="id-1.3.3.3.9.12.7"></a><h4>Returns</h4>
-<p> an instance of a <a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a>.</p>
-<p></p>
-</div>
</div>
<hr>
<div class="refsect2">
-<a name="signon-identity-new-with-context"></a><h3>signon_identity_new_with_context ()</h3>
-<pre class="programlisting"><a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="returnvalue">SignonIdentity</span></a> *
-signon_identity_new_with_context (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *application_context</code></em>);</pre>
-<p>Construct a new, empty, identity object. See <a class="link" href="SignonSecurityContext.html" title="SignonSecurityContext"><span class="type">SignonSecurityContext</span></a> for a
-discussion of <em class="parameter"><code>application_context</code></em>
- contents. <em class="parameter"><code>application_context</code></em>
- is used to set the identity's owner
-if the identity is stored to the database with <a class="link" href="SignonIdentity.html#signon-identity-store-credentials-with-args" title="signon_identity_store_credentials_with_args ()"><code class="function">signon_identity_store_credentials_with_args()</code></a>
-or <a class="link" href="SignonIdentity.html#signon-identity-store-credentials-with-info" title="signon_identity_store_credentials_with_info ()"><code class="function">signon_identity_store_credentials_with_info()</code></a>.</p>
+<a name="signon-identity-verify-secret"></a><h3>signon_identity_verify_secret ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+signon_identity_verify_secret (<em class="parameter"><code><a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *secret</code></em>,
+ <em class="parameter"><code><a class="link" href="SignonIdentity.html#SignonIdentityVerifyCb" title="SignonIdentityVerifyCb ()"><span class="type">SignonIdentityVerifyCb</span></a> cb</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Verifies the given secret. Not currently supported by gSSO.</p>
<div class="refsect3">
<a name="id-1.3.3.3.9.13.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>application_context</p></td>
-<td class="parameter_description"><p>application security context, can be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>the <a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a>.</p></td>
<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="id-1.3.3.3.9.13.6"></a><h4>Returns</h4>
-<p> an instance of an <a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a>.</p>
-<p></p>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="signon-identity-new-with-context-from-db"></a><h3>signon_identity_new_with_context_from_db ()</h3>
-<pre class="programlisting"><a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="returnvalue">SignonIdentity</span></a> *
-signon_identity_new_with_context_from_db
- (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> id</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *application_context</code></em>);</pre>
-<p>Construct an identity object associated with an existing identity
-record. See <a class="link" href="SignonSecurityContext.html" title="SignonSecurityContext"><span class="type">SignonSecurityContext</span></a> for a discussion of <em class="parameter"><code>application_context</code></em>
- contents.
-Together with the system context it is used to determine by the gSSO daemon
-if the application can access the identity (the application needs to be either the
-identity's owner or to be present on the ACL).</p>
-<p>Applications can determine the <em class="parameter"><code>id</code></em>
- either by enumerating the identities with
-<a class="link" href="SignonAuthService.html#signon-auth-service-query-identities" title="signon_auth_service_query_identities ()"><code class="function">signon_auth_service_query_identities()</code></a> (if they're the owner of the identity)
-or via other means (such as the system's accounts service, or an application
-configuration).</p>
+</tr>
+<tr>
+<td class="parameter_name"><p>secret</p></td>
+<td class="parameter_description"><p>the secret (password) to be verified.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cb</p></td>
+<td class="parameter_description"><p> callback. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="The callback is valid until first called."><span class="acronym">scope async</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user_data.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="SignonIdentityInfoCb"></a><h3>SignonIdentityInfoCb ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+<span class="c_punctuation">(</span>*SignonIdentityInfoCb<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a> *self</code></em>,
+ <em class="parameter"><code><a class="link" href="SignonIdentityInfo.html" title="SignonIdentityInfo"><span class="type">SignonIdentityInfo</span></a> *info</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> *error</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Callback to be passed to <a class="link" href="SignonIdentity.html#signon-identity-query-info" title="signon_identity_query_info ()"><code class="function">signon_identity_query_info()</code></a>.</p>
<div class="refsect3">
-<a name="id-1.3.3.3.9.14.6"></a><h4>Parameters</h4>
+<a name="id-1.3.3.3.9.14.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
</colgroup>
<tbody>
<tr>
-<td class="parameter_name"><p>id</p></td>
-<td class="parameter_description"><p>identity ID.</p></td>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>the <a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td class="parameter_name"><p>application_context</p></td>
-<td class="parameter_description"><p>application security context, can be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p> the <a class="link" href="SignonIdentityInfo.html" title="SignonIdentityInfo"><span class="type">SignonIdentityInfo</span></a> for <em class="parameter"><code>self</code></em>
+. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> if an error occurred, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> otherwise.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>the user data that was passed when installing this callback.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
-<div class="refsect3">
-<a name="id-1.3.3.3.9.14.7"></a><h4>Returns</h4>
-<p> an instance of a <a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a>.</p>
-<p></p>
-</div>
</div>
<hr>
<div class="refsect2">
</div>
<hr>
<div class="refsect2">
-<a name="signon-identity-remove-reference"></a><h3>signon_identity_remove_reference ()</h3>
+<a name="signon-identity-signout"></a><h3>signon_identity_signout ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-signon_identity_remove_reference (<em class="parameter"><code><a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a> *self</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *reference</code></em>,
- <em class="parameter"><code><a class="link" href="SignonIdentity.html#SignonIdentityReferenceRemovedCb" title="SignonIdentityReferenceRemovedCb"><span class="type">SignonIdentityReferenceRemovedCb</span></a> cb</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
-<p>Removes named reference from identity. Not currently supported by gSSO.</p>
+signon_identity_signout (<em class="parameter"><code><a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a> *self</code></em>,
+ <em class="parameter"><code><a class="link" href="SignonIdentity.html#SignonIdentitySignedOutCb" title="SignonIdentitySignedOutCb"><span class="type">SignonIdentitySignedOutCb</span></a> cb</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asks signond to close all authentication sessions for this
+identity, and to remove any stored secrets associated with it (password and
+authentication tokens).</p>
<div class="refsect3">
<a name="id-1.3.3.3.9.17.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td class="parameter_name"><p>reference</p></td>
-<td class="parameter_description"><p>reference to be removed</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
<td class="parameter_name"><p>cb</p></td>
-<td class="parameter_description"><p>callback</p></td>
-<td class="parameter_annotations"> </td>
+<td class="parameter_description"><p> callback. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="The callback is valid until first called."><span class="acronym">scope async</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
</div>
<hr>
<div class="refsect2">
-<a name="signon-identity-signout"></a><h3>signon_identity_signout ()</h3>
+<a name="signon-identity-add-reference"></a><h3>signon_identity_add_reference ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-signon_identity_signout (<em class="parameter"><code><a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a> *self</code></em>,
- <em class="parameter"><code><a class="link" href="SignonIdentity.html#SignonIdentitySignedOutCb" title="SignonIdentitySignedOutCb"><span class="type">SignonIdentitySignedOutCb</span></a> cb</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
-<p>Asks signond to close all authentication sessions for this
-identity, and to remove any stored secrets associated with it (password and
-authentication tokens).</p>
+signon_identity_add_reference (<em class="parameter"><code><a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *reference</code></em>,
+ <em class="parameter"><code><a class="link" href="SignonIdentity.html#SignonIdentityReferenceAddedCb" title="SignonIdentityReferenceAddedCb"><span class="type">SignonIdentityReferenceAddedCb</span></a> cb</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Adds named reference to identity. Not currently supported by gSSO.</p>
<div class="refsect3">
<a name="id-1.3.3.3.9.18.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<td class="parameter_annotations"> </td>
</tr>
<tr>
+<td class="parameter_name"><p>reference</p></td>
+<td class="parameter_description"><p>reference to be added</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
<td class="parameter_name"><p>cb</p></td>
-<td class="parameter_description"><p> callback. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="The callback is valid until first called."><span class="acronym">scope async</span></acronym>]</span></td>
+<td class="parameter_description"><p>callback</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
</div>
<hr>
<div class="refsect2">
-<a name="signon-identity-store-credentials-with-args"></a><h3>signon_identity_store_credentials_with_args ()</h3>
+<a name="signon-identity-remove-reference"></a><h3>signon_identity_remove_reference ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-signon_identity_store_credentials_with_args
- (<em class="parameter"><code><a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a> *self</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *username</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *secret</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> store_secret</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> *methods</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *caption</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> * const *realms</code></em>,
- <em class="parameter"><code>const <a class="link" href="SignonSecurityContext.html" title="SignonSecurityContext"><span class="type">SignonSecurityContext</span></a> *owner</code></em>,
- <em class="parameter"><code><a class="link" href="SignonSecurityContext.html#SignonSecurityContextList" title="SignonSecurityContextList"><span class="type">SignonSecurityContextList</span></a> *access_control_list</code></em>,
- <em class="parameter"><code><a class="link" href="SignonIdentityInfo.html#SignonIdentityType" title="enum SignonIdentityType"><span class="type">SignonIdentityType</span></a> type</code></em>,
- <em class="parameter"><code><a class="link" href="SignonIdentity.html#SignonIdentityStoreCredentialsCb" title="SignonIdentityStoreCredentialsCb ()"><span class="type">SignonIdentityStoreCredentialsCb</span></a> cb</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
-<p>Stores the given data into the identity. See above for the meaning
-of the specific fields.</p>
+signon_identity_remove_reference (<em class="parameter"><code><a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *reference</code></em>,
+ <em class="parameter"><code><a class="link" href="SignonIdentity.html#SignonIdentityReferenceRemovedCb" title="SignonIdentityReferenceRemovedCb"><span class="type">SignonIdentityReferenceRemovedCb</span></a> cb</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Removes named reference from identity. Not currently supported by gSSO.</p>
<div class="refsect3">
<a name="id-1.3.3.3.9.19.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td class="parameter_name"><p>username</p></td>
-<td class="parameter_description"><p> username. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>secret</p></td>
-<td class="parameter_description"><p> secret. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>store_secret</p></td>
-<td class="parameter_description"><p>whether gSSO should save the password in secret storage.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>methods</p></td>
-<td class="parameter_description"><p> allowed methods. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8 GStrv]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>caption</p></td>
-<td class="parameter_description"><p> caption. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>realms</p></td>
-<td class="parameter_description"><p> allowed realms. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>owner</p></td>
-<td class="parameter_description"><p> owner. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>access_control_list</p></td>
-<td class="parameter_description"><p> access control list. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>type</p></td>
-<td class="parameter_description"><p>the type of the identity.</p></td>
+<td class="parameter_name"><p>reference</p></td>
+<td class="parameter_description"><p>reference to be removed</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cb</p></td>
-<td class="parameter_description"><p> callback. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="The callback is valid until first called."><span class="acronym">scope async</span></acronym>]</span></td>
+<td class="parameter_description"><p>callback</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
</div>
<hr>
<div class="refsect2">
-<a name="signon-identity-store-credentials-with-info"></a><h3>signon_identity_store_credentials_with_info ()</h3>
+<a name="SignonIdentitySessionReadyCb"></a><h3>SignonIdentitySessionReadyCb ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-signon_identity_store_credentials_with_info
- (<em class="parameter"><code><a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a> *self</code></em>,
- <em class="parameter"><code>const <a class="link" href="SignonIdentityInfo.html" title="SignonIdentityInfo"><span class="type">SignonIdentityInfo</span></a> *info</code></em>,
- <em class="parameter"><code><a class="link" href="SignonIdentity.html#SignonIdentityStoreCredentialsCb" title="SignonIdentityStoreCredentialsCb ()"><span class="type">SignonIdentityStoreCredentialsCb</span></a> cb</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
-<p>Stores the data contained in <em class="parameter"><code>info</code></em>
- into the identity record in the database.
-See above for the detailed discussion of the meaning of various fields and
-their defaults.</p>
+<span class="c_punctuation">(</span>*SignonIdentitySessionReadyCb<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="SignonAuthSession.html" title="SignonAuthSession"><span class="type">SignonAuthSession</span></a> *self</code></em>,
+ <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>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GDBusConnection.html"><span class="type">GDBusConnection</span></a> *connection</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *bus_name</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>);</pre>
+<p>Callback to be passed to <a class="link" href="SignonIdentity.html#signon-identity-get-auth-session" title="signon_identity_get_auth_session ()"><code class="function">signon_identity_get_auth_session()</code></a>.</p>
<div class="refsect3">
<a name="id-1.3.3.3.9.20.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the <a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a>.</p></td>
+<td class="parameter_description"><p>the <a class="link" href="SignonAuthSession.html" title="SignonAuthSession"><span class="type">SignonAuthSession</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td class="parameter_name"><p>info</p></td>
-<td class="parameter_description"><p>the <a class="link" href="SignonIdentityInfo.html" title="SignonIdentityInfo"><span class="type">SignonIdentityInfo</span></a> data to store.</p></td>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> if an error occurred, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> otherwise.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td class="parameter_name"><p>cb</p></td>
-<td class="parameter_description"><p> callback. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="The callback is valid until first called."><span class="acronym">scope async</span></acronym>]</span></td>
+<td class="parameter_name"><p>connection</p></td>
+<td class="parameter_description"><p>a <a href="http://library.gnome.org/devel/gio/unstable/GDBusConnection.html"><span class="type">GDBusConnection</span></a> for the session.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td class="parameter_name"><p>user_data</p></td>
-<td class="parameter_description"><p>user_data.</p></td>
+<td class="parameter_name"><p>bus_name</p></td>
+<td class="parameter_description"><p>a D-Bus bus name for the session.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>a D-Bus object path for the session.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</div>
<hr>
<div class="refsect2">
-<a name="signon-identity-verify-secret"></a><h3>signon_identity_verify_secret ()</h3>
+<a name="signon-identity-get-auth-session"></a><h3>signon_identity_get_auth_session ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-signon_identity_verify_secret (<em class="parameter"><code><a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a> *self</code></em>,
- <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *secret</code></em>,
- <em class="parameter"><code><a class="link" href="SignonIdentity.html#SignonIdentityVerifyCb" title="SignonIdentityVerifyCb ()"><span class="type">SignonIdentityVerifyCb</span></a> cb</code></em>,
- <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
-<p>Verifies the given secret. Not currently supported by gSSO.</p>
+signon_identity_get_auth_session (<em class="parameter"><code><a class="link" href="SignonIdentity.html" title="SignonIdentity"><span class="type">SignonIdentity</span></a> *self</code></em>,
+ <em class="parameter"><code><a class="link" href="SignonAuthSession.html" title="SignonAuthSession"><span class="type">SignonAuthSession</span></a> *session</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *method</code></em>,
+ <em class="parameter"><code><a class="link" href="SignonIdentity.html#SignonIdentitySessionReadyCb" title="SignonIdentitySessionReadyCb ()"><span class="type">SignonIdentitySessionReadyCb</span></a> cb</code></em>);</pre>
+<p>Obtain a remote object for a local session object. Should not be used by
+applications.</p>
<div class="refsect3">
<a name="id-1.3.3.3.9.21.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td class="parameter_name"><p>secret</p></td>
-<td class="parameter_description"><p>the secret (password) to be verified.</p></td>
+<td class="parameter_name"><p>session</p></td>
+<td class="parameter_description"><p>the <a class="link" href="SignonAuthSession.html" title="SignonAuthSession"><span class="type">SignonAuthSession</span></a> object to get the remote object for.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td class="parameter_name"><p>cb</p></td>
-<td class="parameter_description"><p> callback. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="The callback is valid until first called."><span class="acronym">scope async</span></acronym>]</span></td>
+<td class="parameter_name"><p>method</p></td>
+<td class="parameter_description"><p>method name for the session.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td class="parameter_name"><p>user_data</p></td>
-<td class="parameter_description"><p>user_data.</p></td>
-<td class="parameter_annotations"> </td>
+<td class="parameter_name"><p>cb</p></td>
+<td class="parameter_description"><p> completion callback. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="The callback is valid until first called."><span class="acronym">scope async</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
<div class="refsect1">
<a name="SignonIdentity.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
-<a name="SignonIdentity-struct"></a><h3>struct SignonIdentity</h3>
-<pre class="programlisting">struct SignonIdentity;</pre>
-<p>Opaque struct. Use the accessor functions below.</p>
-</div>
-<hr>
-<div class="refsect2">
<a name="SignonIdentityClass"></a><h3>struct SignonIdentityClass</h3>
<pre class="programlisting">struct SignonIdentityClass {
GObjectClass parent_class;
</pre>
<p>Opaque struct. Use the accessor functions below.</p>
<div class="refsect3">
-<a name="id-1.3.3.3.10.3.5"></a><h4>Members</h4>
+<a name="id-1.3.3.3.10.2.5"></a><h4>Members</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
</div>
<hr>
<div class="refsect2">
-<a name="SignonIdentityReferenceAddedCb"></a><h3>SignonIdentityReferenceAddedCb</h3>
-<pre class="programlisting">typedef SignonIdentityVoidCb SignonIdentityReferenceAddedCb;
-</pre>
-<p>Callback to be passed to <a class="link" href="SignonIdentity.html#signon-identity-add-reference" title="signon_identity_add_reference ()"><code class="function">signon_identity_add_reference()</code></a>.</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="SignonIdentityReferenceRemovedCb"></a><h3>SignonIdentityReferenceRemovedCb</h3>
-<pre class="programlisting">typedef SignonIdentityVoidCb SignonIdentityReferenceRemovedCb;
-</pre>
-<p>Callback to be passed to <a class="link" href="SignonIdentity.html#signon-identity-remove-reference" title="signon_identity_remove_reference ()"><code class="function">signon_identity_remove_reference()</code></a>.</p>
+<a name="SignonIdentity-struct"></a><h3>struct SignonIdentity</h3>
+<pre class="programlisting">struct SignonIdentity;</pre>
+<p>Opaque struct. Use the accessor functions below.</p>
</div>
<hr>
<div class="refsect2">
</pre>
<p>Callback to be passed to <a class="link" href="SignonIdentity.html#signon-identity-signout" title="signon_identity_signout ()"><code class="function">signon_identity_signout()</code></a>.</p>
</div>
+<hr>
+<div class="refsect2">
+<a name="SignonIdentityReferenceAddedCb"></a><h3>SignonIdentityReferenceAddedCb</h3>
+<pre class="programlisting">typedef SignonIdentityVoidCb SignonIdentityReferenceAddedCb;
+</pre>
+<p>Callback to be passed to <a class="link" href="SignonIdentity.html#signon-identity-add-reference" title="signon_identity_add_reference ()"><code class="function">signon_identity_add_reference()</code></a>.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="SignonIdentityReferenceRemovedCb"></a><h3>SignonIdentityReferenceRemovedCb</h3>
+<pre class="programlisting">typedef SignonIdentityVoidCb SignonIdentityReferenceRemovedCb;
+</pre>
+<p>Callback to be passed to <a class="link" href="SignonIdentity.html#signon-identity-remove-reference" title="signon_identity_remove_reference ()"><code class="function">signon_identity_remove_reference()</code></a>.</p>
+</div>
</div>
<div class="refsect1">
<a name="SignonIdentity.property-details"></a><h2>Property Details</h2>