1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
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">
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>
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>
27 <div class="refentry">
28 <a name="GSignondStorageManager"></a><div class="titlepage"></div>
29 <div class="refnamediv"><table width="100%"><tr>
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>
34 <td class="gallery_image" valign="top" align="right"></td>
36 <div class="refsect1">
37 <a name="GSignondStorageManager.functions"></a><h2>Functions</h2>
38 <div class="informaltable"><table width="100%" border="0">
40 <col width="150px" class="functions_return">
41 <col class="functions_name">
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>
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>
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>
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>
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>
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>
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> *
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>
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>
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>
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>
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>
94 <div class="refsect1">
95 <a name="GSignondStorageManager.properties"></a><h2>Properties</h2>
96 <div class="informaltable"><table border="0">
98 <col width="150px" class="properties_type">
99 <col width="300px" class="properties_name">
100 <col width="200px" class="properties_flags">
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>
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
116 <div class="refsect1">
117 <a name="GSignondStorageManager.includes"></a><h2>Includes</h2>
118 <pre class="synopsis">#include <gsignond/gsignond-plugin-interface.h>
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>
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">
143 <col width="150px" class="parameters_name">
144 <col class="parameters_description">
145 <col width="200px" class="parameters_annotations">
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>
154 <div class="refsect3">
155 <a name="id-1.7.5.8.2.6"></a><h4>Returns</h4>
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">
172 <col width="150px" class="parameters_name">
173 <col class="parameters_description">
174 <col width="200px" class="parameters_annotations">
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>
183 <div class="refsect3">
184 <a name="id-1.7.5.8.3.6"></a><h4>Returns</h4>
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">
200 <col width="150px" class="parameters_name">
201 <col class="parameters_description">
202 <col width="200px" class="parameters_annotations">
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>
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>
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
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">
233 <col width="150px" class="parameters_name">
234 <col class="parameters_description">
235 <col width="200px" class="parameters_annotations">
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>
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>
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">
261 <col width="150px" class="parameters_name">
262 <col class="parameters_description">
263 <col width="200px" class="parameters_annotations">
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>
272 <div class="refsect3">
273 <a name="id-1.7.5.8.6.6"></a><h4>Returns</h4>
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">
289 <col width="150px" class="parameters_name">
290 <col class="parameters_description">
291 <col width="200px" class="parameters_annotations">
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>
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>
307 <div class="refsect1">
308 <a name="GSignondStorageManager.other_details"></a><h2>Types and Values</h2>
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>
322 Generated by GTK-Doc V1.20</div>