4b26461f62ca7dbb9d8121809b5ebbe981e77de0
[profile/ivi/gsignond.git] / docs / html / GSignondSecretStorage.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>GSignondSecretStorage</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
7 <link rel="home" href="index.html" title="gsignond API Reference Manual">
8 <link rel="up" href="ch05.html" title="GSignond API for writing platform adaptation extensions">
9 <link rel="prev" href="GSignondStorageManager.html" title="GSignondStorageManager">
10 <link rel="next" href="GSignondCredentials.html" title="GSignondCredentials">
11 <meta name="generator" content="GTK-Doc V1.19.1 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
13 </head>
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="10"><tr valign="middle">
16 <td width="100%" align="left">
17 <a href="#" class="shortcut">Top</a>
18                    | 
19                   <a href="#GSignondSecretStorage.description" class="shortcut">Description</a>
20                    | 
21                   <a href="#GSignondSecretStorage.object-hierarchy" class="shortcut">Object Hierarchy</a>
22                    | 
23                   <a href="#GSignondSecretStorage.properties" class="shortcut">Properties</a>
24 </td>
25 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
26 <td><a accesskey="u" href="ch05.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
27 <td><a accesskey="p" href="GSignondStorageManager.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
28 <td><a accesskey="n" href="GSignondCredentials.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
29 </tr></table>
30 <div class="refentry">
31 <a name="GSignondSecretStorage"></a><div class="titlepage"></div>
32 <div class="refnamediv"><table width="100%"><tr>
33 <td valign="top">
34 <h2><span class="refentrytitle"><a name="GSignondSecretStorage.top_of_page"></a>GSignondSecretStorage</span></h2>
35 <p>GSignondSecretStorage — provides access to the database that stores user credentials and identity/method cache</p>
36 </td>
37 <td valign="top" align="right"></td>
38 </tr></table></div>
39 <div class="refsynopsisdiv">
40 <a name="GSignondSecretStorage.synopsis"></a><h2>Synopsis</h2>
41 <pre class="synopsis">
42 #include &lt;gsignond/gsignond-secret-storage.h&gt;
43
44                     <a class="link" href="GSignondSecretStorage.html#GSignondSecretStorage-struct" title="GSignondSecretStorage">GSignondSecretStorage</a>;
45                     <a class="link" href="GSignondSecretStorage.html#GSignondSecretStorageClass" title="GSignondSecretStorageClass">GSignondSecretStorageClass</a>;
46 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GSignondSecretStorage.html#gsignond-secret-storage-check-credentials" title="gsignond_secret_storage_check_credentials ()">gsignond_secret_storage_check_credentials</a>
47                                                         (<em class="parameter"><code><a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a> *self</code></em>,
48                                                          <em class="parameter"><code><a class="link" href="GSignondCredentials.html" title="GSignondCredentials"><span class="type">GSignondCredentials</span></a> *creds</code></em>);
49 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GSignondSecretStorage.html#gsignond-secret-storage-clear-db" title="gsignond_secret_storage_clear_db ()">gsignond_secret_storage_clear_db</a>    (<em class="parameter"><code><a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a> *self</code></em>);
50 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GSignondSecretStorage.html#gsignond-secret-storage-close-db" title="gsignond_secret_storage_close_db ()">gsignond_secret_storage_close_db</a>    (<em class="parameter"><code><a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a> *self</code></em>);
51 const <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="returnvalue">GError</span></a> *      <a class="link" href="GSignondSecretStorage.html#gsignond-secret-storage-get-last-error" title="gsignond_secret_storage_get_last_error ()">gsignond_secret_storage_get_last_error</a>
52                                                         (<em class="parameter"><code><a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a> *self</code></em>);
53 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GSignondSecretStorage.html#gsignond-secret-storage-is-open-db" title="gsignond_secret_storage_is_open_db ()">gsignond_secret_storage_is_open_db</a>  (<em class="parameter"><code><a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a> *self</code></em>);
54 <a class="link" href="GSignondCredentials.html" title="GSignondCredentials"><span class="returnvalue">GSignondCredentials</span></a> * <a class="link" href="GSignondSecretStorage.html#gsignond-secret-storage-load-credentials" title="gsignond_secret_storage_load_credentials ()">gsignond_secret_storage_load_credentials</a>
55                                                         (<em class="parameter"><code><a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a> *self</code></em>,
56                                                          <em class="parameter"><code>const <span class="type">guint32</span> id</code></em>);
57 <a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="returnvalue">GHashTable</span></a> *        <a class="link" href="GSignondSecretStorage.html#gsignond-secret-storage-load-data" title="gsignond_secret_storage_load_data ()">gsignond_secret_storage_load_data</a>   (<em class="parameter"><code><a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a> *self</code></em>,
58                                                          <em class="parameter"><code>const <span class="type">guint32</span> id</code></em>,
59                                                          <em class="parameter"><code>const <span class="type">guint32</span> method</code></em>);
60 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GSignondSecretStorage.html#gsignond-secret-storage-open-db" title="gsignond_secret_storage_open_db ()">gsignond_secret_storage_open_db</a>     (<em class="parameter"><code><a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a> *self</code></em>);
61 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GSignondSecretStorage.html#gsignond-secret-storage-remove-credentials" title="gsignond_secret_storage_remove_credentials ()">gsignond_secret_storage_remove_credentials</a>
62                                                         (<em class="parameter"><code><a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a> *self</code></em>,
63                                                          <em class="parameter"><code>const <span class="type">guint32</span> id</code></em>);
64 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GSignondSecretStorage.html#gsignond-secret-storage-remove-data" title="gsignond_secret_storage_remove_data ()">gsignond_secret_storage_remove_data</a> (<em class="parameter"><code><a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a> *self</code></em>,
65                                                          <em class="parameter"><code>const <span class="type">guint32</span> id</code></em>,
66                                                          <em class="parameter"><code>const <span class="type">guint32</span> method</code></em>);
67 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GSignondSecretStorage.html#gsignond-secret-storage-update-credentials" title="gsignond_secret_storage_update_credentials ()">gsignond_secret_storage_update_credentials</a>
68                                                         (<em class="parameter"><code><a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a> *self</code></em>,
69                                                          <em class="parameter"><code><a class="link" href="GSignondCredentials.html" title="GSignondCredentials"><span class="type">GSignondCredentials</span></a> *creds</code></em>);
70 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GSignondSecretStorage.html#gsignond-secret-storage-update-data" title="gsignond_secret_storage_update_data ()">gsignond_secret_storage_update_data</a> (<em class="parameter"><code><a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a> *self</code></em>,
71                                                          <em class="parameter"><code>const <span class="type">guint32</span> id</code></em>,
72                                                          <em class="parameter"><code>const <span class="type">guint32</span> method</code></em>,
73                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> *data</code></em>);
74 </pre>
75 </div>
76 <div class="refsect1">
77 <a name="GSignondSecretStorage.object-hierarchy"></a><h2>Object Hierarchy</h2>
78 <pre class="synopsis">
79   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
80    +----GSignondSecretStorage
81 </pre>
82 </div>
83 <div class="refsect1">
84 <a name="GSignondSecretStorage.properties"></a><h2>Properties</h2>
85 <pre class="synopsis">
86   "<a class="link" href="GSignondSecretStorage.html#GSignondSecretStorage--config" title='The "config" property'>config</a>"                   <a class="link" href="GSignondConfig.html" title="GSignondConfig"><span class="type">GSignondConfig</span></a>*       : Read / Write / Construct Only
87 </pre>
88 </div>
89 <div class="refsect1">
90 <a name="GSignondSecretStorage.description"></a><h2>Description</h2>
91 <p>
92 <a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a> provides access to the database where sensitive identity
93 data (<a class="link" href="GSignondCredentials.html" title="GSignondCredentials"><span class="type">GSignondCredentials</span></a>) and identity/method cache are stored. It's preferred 
94 that this database is protected against access by processes other than gSSO.
95 </p>
96 <p>
97 gSSO can be configured to use a custom extension
98 that provides a subclassed implementation of <a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a>
99 (see <a class="link" href="GSignondExtension.html" title="GSignondExtension"><span class="type">GSignondExtension</span></a>), otherwise a default implementation is used.
100 </p>
101 </div>
102 <div class="refsect1">
103 <a name="GSignondSecretStorage.details"></a><h2>Details</h2>
104 <div class="refsect2">
105 <a name="GSignondSecretStorage-struct"></a><h3>GSignondSecretStorage</h3>
106 <pre class="programlisting">typedef struct _GSignondSecretStorage GSignondSecretStorage;</pre>
107 <p>
108 Opaque <a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a> data structure.
109 </p>
110 </div>
111 <hr>
112 <div class="refsect2">
113 <a name="GSignondSecretStorageClass"></a><h3>GSignondSecretStorageClass</h3>
114 <pre class="programlisting">typedef struct {
115     GObjectClass parent_class;
116
117     gboolean
118     (*open_db) (GSignondSecretStorage *self);
119
120     gboolean
121     (*close_db) (GSignondSecretStorage *self);
122
123     gboolean
124     (*clear_db) (GSignondSecretStorage *self);
125
126     gboolean
127     (*is_open_db) (GSignondSecretStorage *self);
128
129     GSignondCredentials*
130     (*load_credentials) (
131             GSignondSecretStorage *self,
132             const guint32 id);
133
134     gboolean
135     (*update_credentials) (
136             GSignondSecretStorage *self,
137             GSignondCredentials* creds);
138
139     gboolean
140     (*remove_credentials) (
141             GSignondSecretStorage *self,
142             const guint32 id);
143
144     gboolean
145     (*check_credentials) (
146             GSignondSecretStorage *self,
147             GSignondCredentials* creds);
148
149     GSignondDictionary*
150     (*load_data) (
151             GSignondSecretStorage *self,
152             const guint32 id,
153             const guint32 method);
154
155     gboolean
156     (*update_data) (
157             GSignondSecretStorage *self,
158             const guint32 id,
159             const guint32 method,
160             GSignondDictionary *data);
161
162     gboolean
163     (*remove_data) (
164             GSignondSecretStorage *self,
165             const guint32 id,
166             const guint32 method);
167
168     const GError*
169     (*get_last_error) (GSignondSecretStorage *self);
170 } GSignondSecretStorageClass;
171 </pre>
172 <p>
173 <a class="link" href="GSignondSecretStorage.html#GSignondSecretStorageClass" title="GSignondSecretStorageClass"><span class="type">GSignondSecretStorageClass</span></a> class containing pointers to class methods.
174 </p>
175 <div class="variablelist"><table border="0">
176 <col align="left" valign="top">
177 <tbody>
178 <tr>
179 <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="GSignondSecretStorageClass.parent-class"></a>parent_class</code></em>;</span></p></td>
180 <td>parent class.</td>
181 </tr>
182 <tr>
183 <td><p><span class="term"><em class="structfield"><code><a name="GSignondSecretStorageClass.open-db"></a>open_db</code></em> ()</span></p></td>
184 <td>an implementation of <a class="link" href="GSignondSecretStorage.html#gsignond-secret-storage-open-db" title="gsignond_secret_storage_open_db ()"><code class="function">gsignond_secret_storage_open_db()</code></a>
185 </td>
186 </tr>
187 <tr>
188 <td><p><span class="term"><em class="structfield"><code><a name="GSignondSecretStorageClass.close-db"></a>close_db</code></em> ()</span></p></td>
189 <td>an implementation of <a class="link" href="GSignondSecretStorage.html#gsignond-secret-storage-close-db" title="gsignond_secret_storage_close_db ()"><code class="function">gsignond_secret_storage_close_db()</code></a>
190 </td>
191 </tr>
192 <tr>
193 <td><p><span class="term"><em class="structfield"><code><a name="GSignondSecretStorageClass.clear-db"></a>clear_db</code></em> ()</span></p></td>
194 <td>an implementation of <a class="link" href="GSignondSecretStorage.html#gsignond-secret-storage-clear-db" title="gsignond_secret_storage_clear_db ()"><code class="function">gsignond_secret_storage_clear_db()</code></a>
195 </td>
196 </tr>
197 <tr>
198 <td><p><span class="term"><em class="structfield"><code><a name="GSignondSecretStorageClass.is-open-db"></a>is_open_db</code></em> ()</span></p></td>
199 <td>an implementation of <a class="link" href="GSignondSecretStorage.html#gsignond-secret-storage-is-open-db" title="gsignond_secret_storage_is_open_db ()"><code class="function">gsignond_secret_storage_is_open_db()</code></a>
200 </td>
201 </tr>
202 <tr>
203 <td><p><span class="term"><em class="structfield"><code><a name="GSignondSecretStorageClass.load-credentials"></a>load_credentials</code></em> ()</span></p></td>
204 <td>an implementation of <a class="link" href="GSignondSecretStorage.html#gsignond-secret-storage-load-credentials" title="gsignond_secret_storage_load_credentials ()"><code class="function">gsignond_secret_storage_load_credentials()</code></a>
205 </td>
206 </tr>
207 <tr>
208 <td><p><span class="term"><em class="structfield"><code><a name="GSignondSecretStorageClass.update-credentials"></a>update_credentials</code></em> ()</span></p></td>
209 <td>an implementation of <a class="link" href="GSignondSecretStorage.html#gsignond-secret-storage-update-credentials" title="gsignond_secret_storage_update_credentials ()"><code class="function">gsignond_secret_storage_update_credentials()</code></a>
210 </td>
211 </tr>
212 <tr>
213 <td><p><span class="term"><em class="structfield"><code><a name="GSignondSecretStorageClass.remove-credentials"></a>remove_credentials</code></em> ()</span></p></td>
214 <td>an implementation of <a class="link" href="GSignondSecretStorage.html#gsignond-secret-storage-remove-credentials" title="gsignond_secret_storage_remove_credentials ()"><code class="function">gsignond_secret_storage_remove_credentials()</code></a>
215 </td>
216 </tr>
217 <tr>
218 <td><p><span class="term"><em class="structfield"><code><a name="GSignondSecretStorageClass.check-credentials"></a>check_credentials</code></em> ()</span></p></td>
219 <td>an implementation of <a class="link" href="GSignondSecretStorage.html#gsignond-secret-storage-check-credentials" title="gsignond_secret_storage_check_credentials ()"><code class="function">gsignond_secret_storage_check_credentials()</code></a>
220 </td>
221 </tr>
222 <tr>
223 <td><p><span class="term"><em class="structfield"><code><a name="GSignondSecretStorageClass.load-data"></a>load_data</code></em> ()</span></p></td>
224 <td>an implementation of <a class="link" href="GSignondSecretStorage.html#gsignond-secret-storage-load-data" title="gsignond_secret_storage_load_data ()"><code class="function">gsignond_secret_storage_load_data()</code></a>
225 </td>
226 </tr>
227 <tr>
228 <td><p><span class="term"><em class="structfield"><code><a name="GSignondSecretStorageClass.update-data"></a>update_data</code></em> ()</span></p></td>
229 <td>an implementation of <a class="link" href="GSignondSecretStorage.html#gsignond-secret-storage-update-data" title="gsignond_secret_storage_update_data ()"><code class="function">gsignond_secret_storage_update_data()</code></a>
230 </td>
231 </tr>
232 <tr>
233 <td><p><span class="term"><em class="structfield"><code><a name="GSignondSecretStorageClass.remove-data"></a>remove_data</code></em> ()</span></p></td>
234 <td>an implementation of <a class="link" href="GSignondSecretStorage.html#gsignond-secret-storage-remove-data" title="gsignond_secret_storage_remove_data ()"><code class="function">gsignond_secret_storage_remove_data()</code></a>
235 </td>
236 </tr>
237 <tr>
238 <td><p><span class="term"><em class="structfield"><code><a name="GSignondSecretStorageClass.get-last-error"></a>get_last_error</code></em> ()</span></p></td>
239 <td>an implementation of <a class="link" href="GSignondSecretStorage.html#gsignond-secret-storage-get-last-error" title="gsignond_secret_storage_get_last_error ()"><code class="function">gsignond_secret_storage_get_last_error()</code></a>
240 </td>
241 </tr>
242 </tbody>
243 </table></div>
244 </div>
245 <hr>
246 <div class="refsect2">
247 <a name="gsignond-secret-storage-check-credentials"></a><h3>gsignond_secret_storage_check_credentials ()</h3>
248 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gsignond_secret_storage_check_credentials
249                                                         (<em class="parameter"><code><a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a> *self</code></em>,
250                                                          <em class="parameter"><code><a class="link" href="GSignondCredentials.html" title="GSignondCredentials"><span class="type">GSignondCredentials</span></a> *creds</code></em>);</pre>
251 <p>
252 Checks whether the given credentials match what is stored in the database.
253 </p>
254 <div class="variablelist"><table border="0">
255 <col align="left" valign="top">
256 <tbody>
257 <tr>
258 <td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
259 <td>instance of <a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a>
260 </td>
261 </tr>
262 <tr>
263 <td><p><span class="term"><em class="parameter"><code>creds</code></em> :</span></p></td>
264 <td>the credentials that are being checked. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
265 </td>
266 </tr>
267 <tr>
268 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
269 <td>TRUE if successful, FALSE otherwise.</td>
270 </tr>
271 </tbody>
272 </table></div>
273 </div>
274 <hr>
275 <div class="refsect2">
276 <a name="gsignond-secret-storage-clear-db"></a><h3>gsignond_secret_storage_clear_db ()</h3>
277 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gsignond_secret_storage_clear_db    (<em class="parameter"><code><a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a> *self</code></em>);</pre>
278 <p>
279 Removes all stored secrets from the database.
280 </p>
281 <div class="variablelist"><table border="0">
282 <col align="left" valign="top">
283 <tbody>
284 <tr>
285 <td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
286 <td>instance of <a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a>
287 </td>
288 </tr>
289 <tr>
290 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
291 <td>TRUE if successful, FALSE otherwise.</td>
292 </tr>
293 </tbody>
294 </table></div>
295 </div>
296 <hr>
297 <div class="refsect2">
298 <a name="gsignond-secret-storage-close-db"></a><h3>gsignond_secret_storage_close_db ()</h3>
299 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gsignond_secret_storage_close_db    (<em class="parameter"><code><a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a> *self</code></em>);</pre>
300 <p>
301 Closes the database. To reopen it, call <a class="link" href="GSignondSecretStorage.html#gsignond-secret-storage-open-db" title="gsignond_secret_storage_open_db ()"><code class="function">gsignond_secret_storage_open_db()</code></a>.
302 </p>
303 <div class="variablelist"><table border="0">
304 <col align="left" valign="top">
305 <tbody>
306 <tr>
307 <td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
308 <td>instance of <a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a>
309 </td>
310 </tr>
311 <tr>
312 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
313 <td>TRUE if successful, FALSE otherwise.</td>
314 </tr>
315 </tbody>
316 </table></div>
317 </div>
318 <hr>
319 <div class="refsect2">
320 <a name="gsignond-secret-storage-get-last-error"></a><h3>gsignond_secret_storage_get_last_error ()</h3>
321 <pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="returnvalue">GError</span></a> *      gsignond_secret_storage_get_last_error
322                                                         (<em class="parameter"><code><a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a> *self</code></em>);</pre>
323 <p>
324 Retrieves the last occurred error that has occured
325 </p>
326 <div class="variablelist"><table border="0">
327 <col align="left" valign="top">
328 <tbody>
329 <tr>
330 <td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
331 <td>instance of <a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a>
332 </td>
333 </tr>
334 <tr>
335 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
336 <td>last occurred <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
337 </td>
338 </tr>
339 </tbody>
340 </table></div>
341 </div>
342 <hr>
343 <div class="refsect2">
344 <a name="gsignond-secret-storage-is-open-db"></a><h3>gsignond_secret_storage_is_open_db ()</h3>
345 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gsignond_secret_storage_is_open_db  (<em class="parameter"><code><a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a> *self</code></em>);</pre>
346 <p>
347 Checks if the database is open or not.
348 </p>
349 <div class="variablelist"><table border="0">
350 <col align="left" valign="top">
351 <tbody>
352 <tr>
353 <td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
354 <td>instance of <a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a>
355 </td>
356 </tr>
357 <tr>
358 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
359 <td>TRUE if successful, FALSE otherwise.</td>
360 </tr>
361 </tbody>
362 </table></div>
363 </div>
364 <hr>
365 <div class="refsect2">
366 <a name="gsignond-secret-storage-load-credentials"></a><h3>gsignond_secret_storage_load_credentials ()</h3>
367 <pre class="programlisting"><a class="link" href="GSignondCredentials.html" title="GSignondCredentials"><span class="returnvalue">GSignondCredentials</span></a> * gsignond_secret_storage_load_credentials
368                                                         (<em class="parameter"><code><a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a> *self</code></em>,
369                                                          <em class="parameter"><code>const <span class="type">guint32</span> id</code></em>);</pre>
370 <p>
371 Loads the credentials from the database.
372 </p>
373 <div class="variablelist"><table border="0">
374 <col align="left" valign="top">
375 <tbody>
376 <tr>
377 <td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
378 <td>instance of <a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a>
379 </td>
380 </tr>
381 <tr>
382 <td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
383 <td>the identity id whose credentials are being loaded.</td>
384 </tr>
385 <tr>
386 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
387 <td>
388 <a class="link" href="GSignondCredentials.html" title="GSignondCredentials"><span class="type">GSignondCredentials</span></a> if successful,
389 NULL otherwise. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
390 </td>
391 </tr>
392 </tbody>
393 </table></div>
394 </div>
395 <hr>
396 <div class="refsect2">
397 <a name="gsignond-secret-storage-load-data"></a><h3>gsignond_secret_storage_load_data ()</h3>
398 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="returnvalue">GHashTable</span></a> *        gsignond_secret_storage_load_data   (<em class="parameter"><code><a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a> *self</code></em>,
399                                                          <em class="parameter"><code>const <span class="type">guint32</span> id</code></em>,
400                                                          <em class="parameter"><code>const <span class="type">guint32</span> method</code></em>);</pre>
401 <p>
402 Loads the secret data associated with a given identity and method.
403 </p>
404 <div class="variablelist"><table border="0">
405 <col align="left" valign="top">
406 <tbody>
407 <tr>
408 <td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
409 <td>instance of <a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a>
410 </td>
411 </tr>
412 <tr>
413 <td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
414 <td>the identity id whose data are fetched</td>
415 </tr>
416 <tr>
417 <td><p><span class="term"><em class="parameter"><code>method</code></em> :</span></p></td>
418 <td>the authentication method the data is used for.</td>
419 </tr>
420 <tr>
421 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
422 <td>the secret data. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
423 </td>
424 </tr>
425 </tbody>
426 </table></div>
427 </div>
428 <hr>
429 <div class="refsect2">
430 <a name="gsignond-secret-storage-open-db"></a><h3>gsignond_secret_storage_open_db ()</h3>
431 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gsignond_secret_storage_open_db     (<em class="parameter"><code><a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a> *self</code></em>);</pre>
432 <p>
433 Opens (and initializes) the database. The implementation should take
434 care of creating the DB, if it doesn't exist, and it should use
435 <a class="link" href="gsignond-General-configuration.html#GSIGNOND-CONFIG-GENERAL-SECURE-DIR:CAPS" title="GSIGNOND_CONFIG_GENERAL_SECURE_DIR"><span class="type">GSIGNOND_CONFIG_GENERAL_SECURE_DIR</span></a> and <a class="link" href="gsignond-Database-configuration.html#GSIGNOND-CONFIG-DB-SECRET-DB-FILENAME:CAPS" title="GSIGNOND_CONFIG_DB_SECRET_DB_FILENAME"><span class="type">GSIGNOND_CONFIG_DB_SECRET_DB_FILENAME</span></a>
436 to determine database location in the filesystem.
437 </p>
438 <p>
439 The default implementation is using SQLite for the storage.
440 </p>
441 <div class="variablelist"><table border="0">
442 <col align="left" valign="top">
443 <tbody>
444 <tr>
445 <td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
446 <td>instance of <a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a>
447 </td>
448 </tr>
449 <tr>
450 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
451 <td>TRUE if successful, FALSE otherwise.</td>
452 </tr>
453 </tbody>
454 </table></div>
455 </div>
456 <hr>
457 <div class="refsect2">
458 <a name="gsignond-secret-storage-remove-credentials"></a><h3>gsignond_secret_storage_remove_credentials ()</h3>
459 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gsignond_secret_storage_remove_credentials
460                                                         (<em class="parameter"><code><a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a> *self</code></em>,
461                                                          <em class="parameter"><code>const <span class="type">guint32</span> id</code></em>);</pre>
462 <p>
463 Remove the credentials for the given identity.
464 </p>
465 <div class="variablelist"><table border="0">
466 <col align="left" valign="top">
467 <tbody>
468 <tr>
469 <td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
470 <td>instance of <a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a>
471 </td>
472 </tr>
473 <tr>
474 <td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
475 <td>the identity whose credentials are being updated.</td>
476 </tr>
477 <tr>
478 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
479 <td>TRUE if successful, FALSE otherwise.</td>
480 </tr>
481 </tbody>
482 </table></div>
483 </div>
484 <hr>
485 <div class="refsect2">
486 <a name="gsignond-secret-storage-remove-data"></a><h3>gsignond_secret_storage_remove_data ()</h3>
487 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gsignond_secret_storage_remove_data (<em class="parameter"><code><a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a> *self</code></em>,
488                                                          <em class="parameter"><code>const <span class="type">guint32</span> id</code></em>,
489                                                          <em class="parameter"><code>const <span class="type">guint32</span> method</code></em>);</pre>
490 <p>
491 Removes secret data associated with a given id/method.
492 </p>
493 <div class="variablelist"><table border="0">
494 <col align="left" valign="top">
495 <tbody>
496 <tr>
497 <td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
498 <td>instance of <a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a>
499 </td>
500 </tr>
501 <tr>
502 <td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
503 <td>the identity whose data are fetched.</td>
504 </tr>
505 <tr>
506 <td><p><span class="term"><em class="parameter"><code>method</code></em> :</span></p></td>
507 <td>the authentication method the data is used for.</td>
508 </tr>
509 <tr>
510 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
511 <td>TRUE if successful, FALSE otherwise.</td>
512 </tr>
513 </tbody>
514 </table></div>
515 </div>
516 <hr>
517 <div class="refsect2">
518 <a name="gsignond-secret-storage-update-credentials"></a><h3>gsignond_secret_storage_update_credentials ()</h3>
519 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gsignond_secret_storage_update_credentials
520                                                         (<em class="parameter"><code><a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a> *self</code></em>,
521                                                          <em class="parameter"><code><a class="link" href="GSignondCredentials.html" title="GSignondCredentials"><span class="type">GSignondCredentials</span></a> *creds</code></em>);</pre>
522 <p>
523 Stores/updates the credentials for the given identity.
524 </p>
525 <div class="variablelist"><table border="0">
526 <col align="left" valign="top">
527 <tbody>
528 <tr>
529 <td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
530 <td>instance of <a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a>
531 </td>
532 </tr>
533 <tr>
534 <td><p><span class="term"><em class="parameter"><code>creds</code></em> :</span></p></td>
535 <td>the credentials that are being updated. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
536 </td>
537 </tr>
538 <tr>
539 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
540 <td>TRUE if successful, FALSE otherwise.</td>
541 </tr>
542 </tbody>
543 </table></div>
544 </div>
545 <hr>
546 <div class="refsect2">
547 <a name="gsignond-secret-storage-update-data"></a><h3>gsignond_secret_storage_update_data ()</h3>
548 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gsignond_secret_storage_update_data (<em class="parameter"><code><a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a> *self</code></em>,
549                                                          <em class="parameter"><code>const <span class="type">guint32</span> id</code></em>,
550                                                          <em class="parameter"><code>const <span class="type">guint32</span> method</code></em>,
551                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> *data</code></em>);</pre>
552 <p>
553 Calling this method updates the secret data
554 associated with the given id/method.
555 </p>
556 <div class="variablelist"><table border="0">
557 <col align="left" valign="top">
558 <tbody>
559 <tr>
560 <td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
561 <td>instance of <a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a>
562 </td>
563 </tr>
564 <tr>
565 <td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
566 <td>the identity whose data are fetched.</td>
567 </tr>
568 <tr>
569 <td><p><span class="term"><em class="parameter"><code>method</code></em> :</span></p></td>
570 <td>the authentication method the data is used for.</td>
571 </tr>
572 <tr>
573 <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
574 <td>the data to update. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
575 </td>
576 </tr>
577 <tr>
578 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
579 <td>TRUE if successful, FALSE otherwise.</td>
580 </tr>
581 </tbody>
582 </table></div>
583 </div>
584 </div>
585 <div class="refsect1">
586 <a name="GSignondSecretStorage.property-details"></a><h2>Property Details</h2>
587 <div class="refsect2">
588 <a name="GSignondSecretStorage--config"></a><h3>The <code class="literal">"config"</code> property</h3>
589 <pre class="programlisting">  "config"                   <a class="link" href="GSignondConfig.html" title="GSignondConfig"><span class="type">GSignondConfig</span></a>*       : Read / Write / Construct Only</pre>
590 <p>Configuration object.</p>
591 </div>
592 </div>
593 </div>
594 <div class="footer">
595 <hr>
596           Generated by GTK-Doc V1.19.1</div>
597 </body>
598 </html>