Update to upstream 1.0.1
[profile/ivi/gsignond.git] / docs / html / GSignondStorageManager.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>gsignond API Reference Manual: GSignondStorageManager</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
7 <link rel="home" href="index.html" title="gsignond API Reference Manual">
8 <link rel="up" href="ch06.html" title="GSignond API for writing platform adaptation extensions">
9 <link rel="prev" href="gsignond-GSignondSecurityContext.html" title="GSignondSecurityContext">
10 <link rel="next" href="GSignondSecretStorage.html" title="GSignondSecretStorage">
11 <meta name="generator" content="GTK-Doc V1.20 (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" class="shortcuts">
17 <a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> 
18                   <a href="#GSignondStorageManager.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span> 
19                   <a href="#GSignondStorageManager.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties"> <span class="dim">|</span> 
20                   <a href="#GSignondStorageManager.properties" class="shortcut">Properties</a></span>
21 </td>
22 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
23 <td><a accesskey="u" href="ch06.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
24 <td><a accesskey="p" href="gsignond-GSignondSecurityContext.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
25 <td><a accesskey="n" href="GSignondSecretStorage.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
26 </tr></table>
27 <div class="refentry">
28 <a name="GSignondStorageManager"></a><div class="titlepage"></div>
29 <div class="refnamediv"><table width="100%"><tr>
30 <td valign="top">
31 <h2><span class="refentrytitle"><a name="GSignondStorageManager.top_of_page"></a>GSignondStorageManager</span></h2>
32 <p>GSignondStorageManager — manages encrypted disk storage for storing the secret database</p>
33 </td>
34 <td class="gallery_image" valign="top" align="right"></td>
35 </tr></table></div>
36 <div class="refsect1">
37 <a name="GSignondStorageManager.functions"></a><h2>Functions</h2>
38 <div class="informaltable"><table width="100%" border="0">
39 <colgroup>
40 <col width="150px" class="functions_return">
41 <col class="functions_name">
42 </colgroup>
43 <tbody>
44 <tr>
45 <td class="function_type">
46 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
47 </td>
48 <td class="function_name">
49 <a class="link" href="GSignondStorageManager.html#gsignond-storage-manager-initialize-storage" title="gsignond_storage_manager_initialize_storage ()">gsignond_storage_manager_initialize_storage</a> <span class="c_punctuation">()</span>
50 </td>
51 </tr>
52 <tr>
53 <td class="function_type">
54 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
55 </td>
56 <td class="function_name">
57 <a class="link" href="GSignondStorageManager.html#gsignond-storage-manager-delete-storage" title="gsignond_storage_manager_delete_storage ()">gsignond_storage_manager_delete_storage</a> <span class="c_punctuation">()</span>
58 </td>
59 </tr>
60 <tr>
61 <td class="function_type">
62 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
63 </td>
64 <td class="function_name">
65 <a class="link" href="GSignondStorageManager.html#gsignond-storage-manager-storage-is-initialized" title="gsignond_storage_manager_storage_is_initialized ()">gsignond_storage_manager_storage_is_initialized</a> <span class="c_punctuation">()</span>
66 </td>
67 </tr>
68 <tr>
69 <td class="function_type">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
70 </td>
71 <td class="function_name">
72 <a class="link" href="GSignondStorageManager.html#gsignond-storage-manager-mount-filesystem" title="gsignond_storage_manager_mount_filesystem ()">gsignond_storage_manager_mount_filesystem</a> <span class="c_punctuation">()</span>
73 </td>
74 </tr>
75 <tr>
76 <td class="function_type">
77 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
78 </td>
79 <td class="function_name">
80 <a class="link" href="GSignondStorageManager.html#gsignond-storage-manager-unmount-filesystem" title="gsignond_storage_manager_unmount_filesystem ()">gsignond_storage_manager_unmount_filesystem</a> <span class="c_punctuation">()</span>
81 </td>
82 </tr>
83 <tr>
84 <td class="function_type">
85 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
86 </td>
87 <td class="function_name">
88 <a class="link" href="GSignondStorageManager.html#gsignond-storage-manager-filesystem-is-mounted" title="gsignond_storage_manager_filesystem_is_mounted ()">gsignond_storage_manager_filesystem_is_mounted</a> <span class="c_punctuation">()</span>
89 </td>
90 </tr>
91 </tbody>
92 </table></div>
93 </div>
94 <div class="refsect1">
95 <a name="GSignondStorageManager.properties"></a><h2>Properties</h2>
96 <div class="informaltable"><table border="0">
97 <colgroup>
98 <col width="150px" class="properties_type">
99 <col width="300px" class="properties_name">
100 <col width="200px" class="properties_flags">
101 </colgroup>
102 <tbody><tr>
103 <td class="property_type">
104 <a class="link" href="GSignondConfig.html" title="GSignondConfig"><span class="type">GSignondConfig</span></a> *</td>
105 <td class="property_name"><a class="link" href="GSignondStorageManager.html#GSignondStorageManager--config" title="The “config” property">config</a></td>
106 <td class="property_flags">Read / Write / Construct Only</td>
107 </tr></tbody>
108 </table></div>
109 </div>
110 <div class="refsect1">
111 <a name="GSignondStorageManager.object-hierarchy"></a><h2>Object Hierarchy</h2>
112 <pre class="screen">    <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
113     <span class="lineart">╰──</span> GSignondStorageManager
114 </pre>
115 </div>
116 <div class="refsect1">
117 <a name="GSignondStorageManager.includes"></a><h2>Includes</h2>
118 <pre class="synopsis">#include &lt;gsignond/gsignond-plugin-interface.h&gt;
119 </pre>
120 </div>
121 <div class="refsect1">
122 <a name="GSignondStorageManager.description"></a><h2>Description</h2>
123 <p><a class="link" href="GSignondStorageManager.html" title="GSignondStorageManager"><span class="type">GSignondStorageManager</span></a> manages encrypted disk storage for storing the
124 databases. The default implementation maintains a simple per-user
125 directory accessible only to root and gsignond group, but gSSO can be
126 configured to use a custom extension that provides a subclassed
127 implementation of <a class="link" href="GSignondStorageManager.html" title="GSignondStorageManager"><span class="type">GSignondStorageManager</span></a>
128 (see <a class="link" href="GSignondExtension.html" title="GSignondExtension"><span class="type">GSignondExtension</span></a> for instructions and pointers to examples).</p>
129 </div>
130 <div class="refsect1">
131 <a name="GSignondStorageManager.functions_details"></a><h2>Functions</h2>
132 <div class="refsect2">
133 <a name="gsignond-storage-manager-initialize-storage"></a><h3>gsignond_storage_manager_initialize_storage ()</h3>
134 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
135 gsignond_storage_manager_initialize_storage
136                                (<em class="parameter"><code><a class="link" href="GSignondStorageManager.html" title="GSignondStorageManager"><span class="type">GSignondStorageManager</span></a> *self</code></em>);</pre>
137 <p>Initialize encryption storage. This means making sure that the 
138 necessary directories under <a class="link" href="gsignond-General-configuration.html#GSIGNOND-CONFIG-GENERAL-STORAGE-PATH:CAPS" title="GSIGNOND_CONFIG_GENERAL_STORAGE_PATH"><span class="type">GSIGNOND_CONFIG_GENERAL_STORAGE_PATH</span></a> exist and are accessible.</p>
139 <div class="refsect3">
140 <a name="id-1.7.5.8.2.5"></a><h4>Parameters</h4>
141 <div class="informaltable"><table width="100%" border="0">
142 <colgroup>
143 <col width="150px" class="parameters_name">
144 <col class="parameters_description">
145 <col width="200px" class="parameters_annotations">
146 </colgroup>
147 <tbody><tr>
148 <td class="parameter_name"><p>self</p></td>
149 <td class="parameter_description"><p>object instance.</p></td>
150 <td class="parameter_annotations"> </td>
151 </tr></tbody>
152 </table></div>
153 </div>
154 <div class="refsect3">
155 <a name="id-1.7.5.8.2.6"></a><h4>Returns</h4>
156 <p> success?</p>
157 <p></p>
158 </div>
159 </div>
160 <hr>
161 <div class="refsect2">
162 <a name="gsignond-storage-manager-delete-storage"></a><h3>gsignond_storage_manager_delete_storage ()</h3>
163 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
164 gsignond_storage_manager_delete_storage
165                                (<em class="parameter"><code><a class="link" href="GSignondStorageManager.html" title="GSignondStorageManager"><span class="type">GSignondStorageManager</span></a> *self</code></em>);</pre>
166 <p>Destroys all the encryption keys and wipes the storage. <a class="link" href="gsignond-Utility-functions.html#gsignond-wipe-directory" title="gsignond_wipe_directory ()"><code class="function">gsignond_wipe_directory()</code></a>
167 is typically used for the latter.</p>
168 <div class="refsect3">
169 <a name="id-1.7.5.8.3.5"></a><h4>Parameters</h4>
170 <div class="informaltable"><table width="100%" border="0">
171 <colgroup>
172 <col width="150px" class="parameters_name">
173 <col class="parameters_description">
174 <col width="200px" class="parameters_annotations">
175 </colgroup>
176 <tbody><tr>
177 <td class="parameter_name"><p>self</p></td>
178 <td class="parameter_description"><p>object instance.</p></td>
179 <td class="parameter_annotations"> </td>
180 </tr></tbody>
181 </table></div>
182 </div>
183 <div class="refsect3">
184 <a name="id-1.7.5.8.3.6"></a><h4>Returns</h4>
185 <p> success?</p>
186 <p></p>
187 </div>
188 </div>
189 <hr>
190 <div class="refsect2">
191 <a name="gsignond-storage-manager-storage-is-initialized"></a><h3>gsignond_storage_manager_storage_is_initialized ()</h3>
192 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
193 gsignond_storage_manager_storage_is_initialized
194                                (<em class="parameter"><code><a class="link" href="GSignondStorageManager.html" title="GSignondStorageManager"><span class="type">GSignondStorageManager</span></a> *self</code></em>);</pre>
195 <p>Checks if the storage has been initialized.</p>
196 <div class="refsect3">
197 <a name="id-1.7.5.8.4.5"></a><h4>Parameters</h4>
198 <div class="informaltable"><table width="100%" border="0">
199 <colgroup>
200 <col width="150px" class="parameters_name">
201 <col class="parameters_description">
202 <col width="200px" class="parameters_annotations">
203 </colgroup>
204 <tbody><tr>
205 <td class="parameter_name"><p>self</p></td>
206 <td class="parameter_description"><p>object instance.</p></td>
207 <td class="parameter_annotations"> </td>
208 </tr></tbody>
209 </table></div>
210 </div>
211 <div class="refsect3">
212 <a name="id-1.7.5.8.4.6"></a><h4>Returns</h4>
213 <p> storage has been initialized?</p>
214 <p></p>
215 </div>
216 </div>
217 <hr>
218 <div class="refsect2">
219 <a name="gsignond-storage-manager-mount-filesystem"></a><h3>gsignond_storage_manager_mount_filesystem ()</h3>
220 <pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
221 gsignond_storage_manager_mount_filesystem
222                                (<em class="parameter"><code><a class="link" href="GSignondStorageManager.html" title="GSignondStorageManager"><span class="type">GSignondStorageManager</span></a> *self</code></em>);</pre>
223 <p>Mounts an encrypted storage and returns the filesystem path of the storage
224 mount point. This path will be set in <a class="link" href="GSignondConfig.html" title="GSignondConfig"><span class="type">GSignondConfig</span></a> as 
225 <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 used to access the secret database via
226 <a class="link" href="GSignondSecretStorage.html" title="GSignondSecretStorage"><span class="type">GSignondSecretStorage</span></a>.</p>
227 <p>The default implemenation does nothing, and immediately returns the path for the 
228 secret database.</p>
229 <div class="refsect3">
230 <a name="id-1.7.5.8.5.6"></a><h4>Parameters</h4>
231 <div class="informaltable"><table width="100%" border="0">
232 <colgroup>
233 <col width="150px" class="parameters_name">
234 <col class="parameters_description">
235 <col width="200px" class="parameters_annotations">
236 </colgroup>
237 <tbody><tr>
238 <td class="parameter_name"><p>self</p></td>
239 <td class="parameter_description"><p>object instance.</p></td>
240 <td class="parameter_annotations"> </td>
241 </tr></tbody>
242 </table></div>
243 </div>
244 <div class="refsect3">
245 <a name="id-1.7.5.8.5.7"></a><h4>Returns</h4>
246 <p> path of the storage mount point. </p>
247 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
248 </div>
249 </div>
250 <hr>
251 <div class="refsect2">
252 <a name="gsignond-storage-manager-unmount-filesystem"></a><h3>gsignond_storage_manager_unmount_filesystem ()</h3>
253 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
254 gsignond_storage_manager_unmount_filesystem
255                                (<em class="parameter"><code><a class="link" href="GSignondStorageManager.html" title="GSignondStorageManager"><span class="type">GSignondStorageManager</span></a> *self</code></em>);</pre>
256 <p>Unmounts a previously mounted encrypted storage filesystem.</p>
257 <div class="refsect3">
258 <a name="id-1.7.5.8.6.5"></a><h4>Parameters</h4>
259 <div class="informaltable"><table width="100%" border="0">
260 <colgroup>
261 <col width="150px" class="parameters_name">
262 <col class="parameters_description">
263 <col width="200px" class="parameters_annotations">
264 </colgroup>
265 <tbody><tr>
266 <td class="parameter_name"><p>self</p></td>
267 <td class="parameter_description"><p>object instance.</p></td>
268 <td class="parameter_annotations"> </td>
269 </tr></tbody>
270 </table></div>
271 </div>
272 <div class="refsect3">
273 <a name="id-1.7.5.8.6.6"></a><h4>Returns</h4>
274 <p> success?</p>
275 <p></p>
276 </div>
277 </div>
278 <hr>
279 <div class="refsect2">
280 <a name="gsignond-storage-manager-filesystem-is-mounted"></a><h3>gsignond_storage_manager_filesystem_is_mounted ()</h3>
281 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
282 gsignond_storage_manager_filesystem_is_mounted
283                                (<em class="parameter"><code><a class="link" href="GSignondStorageManager.html" title="GSignondStorageManager"><span class="type">GSignondStorageManager</span></a> *self</code></em>);</pre>
284 <p>Checks if the encrypted storage filesystem is currently mounted.</p>
285 <div class="refsect3">
286 <a name="id-1.7.5.8.7.5"></a><h4>Parameters</h4>
287 <div class="informaltable"><table width="100%" border="0">
288 <colgroup>
289 <col width="150px" class="parameters_name">
290 <col class="parameters_description">
291 <col width="200px" class="parameters_annotations">
292 </colgroup>
293 <tbody><tr>
294 <td class="parameter_name"><p>self</p></td>
295 <td class="parameter_description"><p>object instance.</p></td>
296 <td class="parameter_annotations"> </td>
297 </tr></tbody>
298 </table></div>
299 </div>
300 <div class="refsect3">
301 <a name="id-1.7.5.8.7.6"></a><h4>Returns</h4>
302 <p> filesystem is currently mounted?</p>
303 <p></p>
304 </div>
305 </div>
306 </div>
307 <div class="refsect1">
308 <a name="GSignondStorageManager.other_details"></a><h2>Types and Values</h2>
309 </div>
310 <div class="refsect1">
311 <a name="GSignondStorageManager.property-details"></a><h2>Property Details</h2>
312 <div class="refsect2">
313 <a name="GSignondStorageManager--config"></a><h3>The <code class="literal">“config”</code> property</h3>
314 <pre class="programlisting">  “config”                   <a class="link" href="GSignondConfig.html" title="GSignondConfig"><span class="type">GSignondConfig</span></a> *</pre>
315 <p>Configuration object.</p>
316 <p>Flags: Read / Write / Construct Only</p>
317 </div>
318 </div>
319 </div>
320 <div class="footer">
321 <hr>
322           Generated by GTK-Doc V1.20</div>
323 </body>
324 </html>