diff options
Diffstat (limited to 'docs/html/GSignondExtension.html')
-rw-r--r-- | docs/html/GSignondExtension.html | 298 |
1 files changed, 298 insertions, 0 deletions
diff --git a/docs/html/GSignondExtension.html b/docs/html/GSignondExtension.html new file mode 100644 index 0000000..55b6e8a --- /dev/null +++ b/docs/html/GSignondExtension.html @@ -0,0 +1,298 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>GSignondExtension</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="index.html" title="gsignond API Reference Manual"> +<link rel="up" href="ch05.html" title="GSignond API for writing platform adaptation extensions"> +<link rel="prev" href="ch05.html" title="GSignond API for writing platform adaptation extensions"> +<link rel="next" href="GSignondAccessControlManager.html" title="GSignondAccessControlManager"> +<meta name="generator" content="GTK-Doc V1.19.1 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="10"><tr valign="middle"> +<td width="100%" align="left"> +<a href="#" class="shortcut">Top</a> + | + <a href="#GSignondExtension.description" class="shortcut">Description</a> + | + <a href="#GSignondExtension.object-hierarchy" class="shortcut">Object Hierarchy</a> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="ch05.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="ch05.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="GSignondAccessControlManager.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="GSignondExtension"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="GSignondExtension.top_of_page"></a>GSignondExtension</span></h2> +<p>GSignondExtension — provides platform adaptation functionality</p> +</td> +<td valign="top" align="right"></td> +</tr></table></div> +<div class="refsynopsisdiv"> +<a name="GSignondExtension.synopsis"></a><h2>Synopsis</h2> +<pre class="synopsis"> +#include <gsignond/gsignond-plugin-interface.h> + +struct <a class="link" href="GSignondExtension.html#GSignondExtension-struct" title="struct GSignondExtension">GSignondExtension</a>; +struct <a class="link" href="GSignondExtension.html#GSignondExtensionClass" title="struct GSignondExtensionClass">GSignondExtensionClass</a>; +<a class="link" href="GSignondAccessControlManager.html" title="GSignondAccessControlManager"><span class="returnvalue">GSignondAccessControlManager</span></a> * <a class="link" href="GSignondExtension.html#gsignond-extension-get-access-control-manager" title="gsignond_extension_get_access_control_manager ()">gsignond_extension_get_access_control_manager</a> + (<em class="parameter"><code><a class="link" href="GSignondExtension.html" title="GSignondExtension"><span class="type">GSignondExtension</span></a> *self</code></em>, + <em class="parameter"><code><a class="link" href="GSignondConfig.html" title="GSignondConfig"><span class="type">GSignondConfig</span></a> *config</code></em>); +const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="GSignondExtension.html#gsignond-extension-get-name" title="gsignond_extension_get_name ()">gsignond_extension_get_name</a> (<em class="parameter"><code><a class="link" href="GSignondExtension.html" title="GSignondExtension"><span class="type">GSignondExtension</span></a> *self</code></em>); +<a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="returnvalue">GSignondSecretStorage</span></a> * <a class="link" href="GSignondExtension.html#gsignond-extension-get-secret-storage" title="gsignond_extension_get_secret_storage ()">gsignond_extension_get_secret_storage</a> + (<em class="parameter"><code><a class="link" href="GSignondExtension.html" title="GSignondExtension"><span class="type">GSignondExtension</span></a> *self</code></em>, + <em class="parameter"><code><a class="link" href="GSignondConfig.html" title="GSignondConfig"><span class="type">GSignondConfig</span></a> *config</code></em>); +<a class="link" href="GSignondStorageManager.html" title="GSignondStorageManager"><span class="returnvalue">GSignondStorageManager</span></a> * <a class="link" href="GSignondExtension.html#gsignond-extension-get-storage-manager" title="gsignond_extension_get_storage_manager ()">gsignond_extension_get_storage_manager</a> + (<em class="parameter"><code><a class="link" href="GSignondExtension.html" title="GSignondExtension"><span class="type">GSignondExtension</span></a> *self</code></em>, + <em class="parameter"><code><a class="link" href="GSignondConfig.html" title="GSignondConfig"><span class="type">GSignondConfig</span></a> *config</code></em>); +<span class="returnvalue">guint32</span> <a class="link" href="GSignondExtension.html#gsignond-extension-get-version" title="gsignond_extension_get_version ()">gsignond_extension_get_version</a> (<em class="parameter"><code><a class="link" href="GSignondExtension.html" title="GSignondExtension"><span class="type">GSignondExtension</span></a> *self</code></em>); +</pre> +</div> +<div class="refsect1"> +<a name="GSignondExtension.object-hierarchy"></a><h2>Object Hierarchy</h2> +<pre class="synopsis"> + <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a> + +----GSignondExtension +</pre> +</div> +<div class="refsect1"> +<a name="GSignondExtension.description"></a><h2>Description</h2> +<p> +<a class="link" href="GSignondExtension.html" title="GSignondExtension"><span class="type">GSignondExtension</span></a> provides access to platform adaptation functionality. It +contains getter methods for default implementations of <a class="link" href="GSignondAccessControlManager.html" title="GSignondAccessControlManager"><span class="type">GSignondAccessControlManager</span></a>, +<a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a> and <a class="link" href="GSignondStorageManager.html" title="GSignondStorageManager"><span class="type">GSignondStorageManager</span></a>. +</p> +<p> +gSSO can be adapted to a specific platform environment by implementing a +custom extension module. The following steps need to be taken: +</p> +<p> +a) subclass and re-implement some (or all) of the functionality of the above +three classes. +</p> +<p> +b) subclass <a class="link" href="GSignondExtension.html" title="GSignondExtension"><span class="type">GSignondExtension</span></a> and provide implementations of its getter methods for those +of the adaptation classes that have been changed. +</p> +<p> +d) provide a function <code class="function">GSignondExtension * extensionname_extension_init(void)</code> +that returns an instance of the <a class="link" href="GSignondExtension.html" title="GSignondExtension"><span class="type">GSignondExtension</span></a> subclass. +</p> +<p> +c) build and install these implementations as a gSSO extension module and +configure gSSO to use it. +</p> +<p> +Examples of custom extensions can be seen here: +<a class="ulink" href="https://code.google.com/p/accounts-sso/source/browse/?repo=gsignond#git%2Fsrc%2Fextensions" target="_top"> +https://code.google.com/p/accounts-sso/source/browse/?repo=gsignond#git%2Fsrc%2Fextensions</a> +and gSSO configuration is described in <a class="link" href="GSignondConfig.html" title="GSignondConfig"><span class="type">GSignondConfig</span></a>. +</p> +</div> +<div class="refsect1"> +<a name="GSignondExtension.details"></a><h2>Details</h2> +<div class="refsect2"> +<a name="GSignondExtension-struct"></a><h3>struct GSignondExtension</h3> +<pre class="programlisting">struct GSignondExtension;</pre> +<p> +Opaque <a class="link" href="GSignondExtension.html" title="GSignondExtension"><span class="type">GSignondExtension</span></a> data structure. +</p> +</div> +<hr> +<div class="refsect2"> +<a name="GSignondExtensionClass"></a><h3>struct GSignondExtensionClass</h3> +<pre class="programlisting">struct GSignondExtensionClass { + GObjectClass parent_class; + + const gchar * (*get_extension_name) (GSignondExtension *self); + + guint32 (*get_extension_version) (GSignondExtension *self); + + GSignondStorageManager * (*get_storage_manager) (GSignondExtension *self, + GSignondConfig *config); + + GSignondSecretStorage * (*get_secret_storage) (GSignondExtension *self, + GSignondConfig *config); + + GSignondAccessControlManager * (*get_access_control_manager) ( + GSignondExtension *self, + GSignondConfig *config); +}; +</pre> +<p> +<a class="link" href="GSignondExtension.html#GSignondExtensionClass" title="struct GSignondExtensionClass"><span class="type">GSignondExtensionClass</span></a> class containing pointers to class methods. +</p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObjectClass"><span class="type">GObjectClass</span></a> <em class="structfield"><code><a name="GSignondExtensionClass.parent-class"></a>parent_class</code></em>;</span></p></td> +<td>the parent class</td> +</tr> +<tr> +<td><p><span class="term"><em class="structfield"><code><a name="GSignondExtensionClass.get-extension-name"></a>get_extension_name</code></em> ()</span></p></td> +<td>implementation of <a class="link" href="GSignondExtension.html#gsignond-extension-get-name" title="gsignond_extension_get_name ()"><code class="function">gsignond_extension_get_name()</code></a> +</td> +</tr> +<tr> +<td><p><span class="term"><em class="structfield"><code><a name="GSignondExtensionClass.get-extension-version"></a>get_extension_version</code></em> ()</span></p></td> +<td>implementation of <a class="link" href="GSignondExtension.html#gsignond-extension-get-version" title="gsignond_extension_get_version ()"><code class="function">gsignond_extension_get_version()</code></a> +</td> +</tr> +<tr> +<td><p><span class="term"><em class="structfield"><code><a name="GSignondExtensionClass.get-storage-manager"></a>get_storage_manager</code></em> ()</span></p></td> +<td>implementation of <a class="link" href="GSignondExtension.html#gsignond-extension-get-storage-manager" title="gsignond_extension_get_storage_manager ()"><code class="function">gsignond_extension_get_storage_manager()</code></a> +</td> +</tr> +<tr> +<td><p><span class="term"><em class="structfield"><code><a name="GSignondExtensionClass.get-secret-storage"></a>get_secret_storage</code></em> ()</span></p></td> +<td>implementation of <a class="link" href="GSignondExtension.html#gsignond-extension-get-secret-storage" title="gsignond_extension_get_secret_storage ()"><code class="function">gsignond_extension_get_secret_storage()</code></a> +</td> +</tr> +<tr> +<td><p><span class="term"><em class="structfield"><code><a name="GSignondExtensionClass.get-access-control-manager"></a>get_access_control_manager</code></em> ()</span></p></td> +<td>implementation of <a class="link" href="GSignondExtension.html#gsignond-extension-get-access-control-manager" title="gsignond_extension_get_access_control_manager ()"><code class="function">gsignond_extension_get_access_control_manager()</code></a> +</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="gsignond-extension-get-access-control-manager"></a><h3>gsignond_extension_get_access_control_manager ()</h3> +<pre class="programlisting"><a class="link" href="GSignondAccessControlManager.html" title="GSignondAccessControlManager"><span class="returnvalue">GSignondAccessControlManager</span></a> * gsignond_extension_get_access_control_manager + (<em class="parameter"><code><a class="link" href="GSignondExtension.html" title="GSignondExtension"><span class="type">GSignondExtension</span></a> *self</code></em>, + <em class="parameter"><code><a class="link" href="GSignondConfig.html" title="GSignondConfig"><span class="type">GSignondConfig</span></a> *config</code></em>);</pre> +<p> +Factory method to get a singleton access control manager object. See +<a class="link" href="GSignondAccessControlManager.html" title="GSignondAccessControlManager"><span class="type">GSignondAccessControlManager</span></a> for the description of the default implementation. +</p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td> +<td>object instance.</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>config</code></em> :</span></p></td> +<td>configuration object instance.</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>access control manager object instance. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="gsignond-extension-get-name"></a><h3>gsignond_extension_get_name ()</h3> +<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * gsignond_extension_get_name (<em class="parameter"><code><a class="link" href="GSignondExtension.html" title="GSignondExtension"><span class="type">GSignondExtension</span></a> *self</code></em>);</pre> +<p> +Get a human readable name of the extension. Default implementation +returns "default". +</p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td> +<td>object instance.</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>name of the extension. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="gsignond-extension-get-secret-storage"></a><h3>gsignond_extension_get_secret_storage ()</h3> +<pre class="programlisting"><a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="returnvalue">GSignondSecretStorage</span></a> * gsignond_extension_get_secret_storage + (<em class="parameter"><code><a class="link" href="GSignondExtension.html" title="GSignondExtension"><span class="type">GSignondExtension</span></a> *self</code></em>, + <em class="parameter"><code><a class="link" href="GSignondConfig.html" title="GSignondConfig"><span class="type">GSignondConfig</span></a> *config</code></em>);</pre> +<p> +Factory method to get a singleton secret storage object. See +<a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a> for the description of the default implementation. +</p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td> +<td>object instance.</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>config</code></em> :</span></p></td> +<td>configuration object instance.</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>secret storage object instance. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="gsignond-extension-get-storage-manager"></a><h3>gsignond_extension_get_storage_manager ()</h3> +<pre class="programlisting"><a class="link" href="GSignondStorageManager.html" title="GSignondStorageManager"><span class="returnvalue">GSignondStorageManager</span></a> * gsignond_extension_get_storage_manager + (<em class="parameter"><code><a class="link" href="GSignondExtension.html" title="GSignondExtension"><span class="type">GSignondExtension</span></a> *self</code></em>, + <em class="parameter"><code><a class="link" href="GSignondConfig.html" title="GSignondConfig"><span class="type">GSignondConfig</span></a> *config</code></em>);</pre> +<p> +Factory method to get a singleton storage manager object. See +<a class="link" href="GSignondStorageManager.html" title="GSignondStorageManager"><span class="type">GSignondStorageManager</span></a> for the description of the default implementation. +</p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td> +<td>object instance.</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>config</code></em> :</span></p></td> +<td>configuration object instance.</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>storage manager object instance. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="gsignond-extension-get-version"></a><h3>gsignond_extension_get_version ()</h3> +<pre class="programlisting"><span class="returnvalue">guint32</span> gsignond_extension_get_version (<em class="parameter"><code><a class="link" href="GSignondExtension.html" title="GSignondExtension"><span class="type">GSignondExtension</span></a> *self</code></em>);</pre> +<p> +Get version of the extension, split into four bytes in order from MSB to LSB; +major, minor, patchlevel, build. Default implementation returns 0. +</p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td> +<td>object instance.</td> +</tr></tbody> +</table></div> +</div> +</div> +</div> +<div class="footer"> +<hr> + Generated by GTK-Doc V1.19.1</div> +</body> +</html>
\ No newline at end of file |