/usr/share/gtk-doc/html/dee-1.0/dee-1.0-DeeResourceManager.html is in libdee-doc 1.0.10-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>DeeResourceManager</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
<link rel="home" href="index.html" title="Dee Reference Manual">
<link rel="up" href="ch04.html" title="Resources and Serialization">
<link rel="prev" href="DeeFileResourceManager.html" title="DeeFileResourceManager">
<link rel="next" href="dee-1.0-DeeSerializable.html" title="DeeSerializable">
<meta name="generator" content="GTK-Doc V1.18 (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="2">
<tr valign="middle">
<td><a accesskey="p" href="DeeFileResourceManager.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="ch04.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">Dee Reference Manual</th>
<td><a accesskey="n" href="dee-1.0-DeeSerializable.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#dee-1.0-DeeResourceManager.synopsis" class="shortcut">Top</a>
|
<a href="#dee-1.0-DeeResourceManager.description" class="shortcut">Description</a>
</td></tr>
</table>
<div class="refentry">
<a name="dee-1.0-DeeResourceManager"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="dee-1.0-DeeResourceManager.top_of_page"></a>DeeResourceManager</span></h2>
<p>DeeResourceManager — Store and load <span class="type">DeeSerializable</span>s by name</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<a name="dee-1.0-DeeResourceManager.synopsis"></a><h2>Synopsis</h2>
<pre class="synopsis">
#include <dee.h>
struct <a class="link" href="dee-1.0-DeeResourceManager.html#DeeResourceManagerIface" title="struct DeeResourceManagerIface">DeeResourceManagerIface</a>;
<span class="returnvalue">DeeResourceManager</span> * <a class="link" href="dee-1.0-DeeResourceManager.html#dee-resource-manager-get-default" title="dee_resource_manager_get_default ()">dee_resource_manager_get_default</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
<span class="returnvalue">GObject</span> * <a class="link" href="dee-1.0-DeeResourceManager.html#dee-resource-manager-load" title="dee_resource_manager_load ()">dee_resource_manager_load</a> (<em class="parameter"><code><span class="type">DeeResourceManager</span> *self</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *resource_name</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);
<span class="returnvalue">gboolean</span> <a class="link" href="dee-1.0-DeeResourceManager.html#dee-resource-manager-store" title="dee_resource_manager_store ()">dee_resource_manager_store</a> (<em class="parameter"><code><span class="type">DeeResourceManager</span> *self</code></em>,
<em class="parameter"><code><span class="type">DeeSerializable</span> *resource</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *resource_name</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);
</pre>
</div>
<div class="refsect1">
<a name="dee-1.0-DeeResourceManager.description"></a><h2>Description</h2>
<p>
The <span class="type">DeeResourceManager</span> API provides a simple API for storing and loading
DeeSerializables from some persistent storage. The resources
are stored in a flat structure identified by names that should be chosen
similarly to DBus names. That is reverse domain names ala
net.launchpad.Example.MyData.
</p>
</div>
<div class="refsect1">
<a name="dee-1.0-DeeResourceManager.details"></a><h2>Details</h2>
<div class="refsect2">
<a name="DeeResourceManagerIface"></a><h3>struct DeeResourceManagerIface</h3>
<pre class="programlisting">struct DeeResourceManagerIface {
GTypeInterface g_iface;
gboolean (*store) (DeeResourceManager *self,
DeeSerializable *resource,
const gchar *resource_name,
GError **error);
GObject* (*load) (DeeResourceManager *self,
const gchar *resource_name,
GError **error);
};
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2">
<a name="dee-resource-manager-get-default"></a><h3>dee_resource_manager_get_default ()</h3>
<pre class="programlisting"><span class="returnvalue">DeeResourceManager</span> * dee_resource_manager_get_default (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>
Get a pointer to the platform default <span class="type">DeeResourceManager</span>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>The default resource manager for the platform.
Do not unreference. If you need to keep the instance around
you must manually reference it. <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="dee-resource-manager-load"></a><h3>dee_resource_manager_load ()</h3>
<pre class="programlisting"><span class="returnvalue">GObject</span> * dee_resource_manager_load (<em class="parameter"><code><span class="type">DeeResourceManager</span> *self</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *resource_name</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>
Load a resource from persistent storage. The loaded resource will be of the
same GType as when it was stored (provided that the same serialization and
parse functions are registered).
</p>
<p>
In case of an error the error will be in the <span class="type">GFileError</span> domain. Specifically
if there is no resource with the name <em class="parameter"><code>resource_name</code></em> the error code will
be <span class="type">G_FILE_ERROR_NOENT</span>.
</p>
<p>
Important note: This call may do blocking IO. The resource manager must
guarantee that this call is reasonably fast, like writing the externalized
resource to a file, but not blocking IO over a network socket.
</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>The resource manager to invoke</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>resource_name</code></em> :</span></p></td>
<td>The name of the resource to retrieve</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>A return location for a <span class="type">GError</span> pointer. <code class="literal">NULL</code> to ignore errors</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>A newly allocated <span class="type">GObject</span> in case of success
and <code class="literal">NULL</code> otherwise. In case of a runtime error the <em class="parameter"><code>error</code></em>
pointer will be set. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="dee-resource-manager-store"></a><h3>dee_resource_manager_store ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span> dee_resource_manager_store (<em class="parameter"><code><span class="type">DeeResourceManager</span> *self</code></em>,
<em class="parameter"><code><span class="type">DeeSerializable</span> *resource</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *resource_name</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>
Store a resource under a given name. The resource manager must guarantee
that the stored data survives system reboots and that you can recreate a
copy of <em class="parameter"><code>resource</code></em> by calling <a class="link" href="dee-1.0-DeeResourceManager.html#dee-resource-manager-load" title="dee_resource_manager_load ()"><code class="function">dee_resource_manager_load()</code></a> using the
same <em class="parameter"><code>resource_name</code></em>.
</p>
<p>
Important note: This call may do blocking IO. The resource manager must
guarantee that this call is reasonably fast, like writing the externalized
resource to a file, but not blocking IO over a network socket.
</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>The resource manager to invoke</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>resource</code></em> :</span></p></td>
<td>A <span class="type">DeeSerializable</span> to store under <em class="parameter"><code>resource_name</code></em>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>resource_name</code></em> :</span></p></td>
<td>The name to store the resource under. Will overwrite any
existing resource with the same name</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>A return location for a <span class="type">GError</span> pointer. <code class="literal">NULL</code> to ignore errors</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<code class="literal">TRUE</code> on success and <code class="literal">FALSE</code> otherwise. In case of a runtime
error the <em class="parameter"><code>error</code></em> pointer will point to a <span class="type">GError</span> in the
<span class="type">DeeResourceError</span> domain.</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
<div class="footer">
<hr>
Generated by GTK-Doc V1.18</div>
</body>
</html>
|