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>GckObjectCache</title>
6
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
7
<link rel="home" href="index.html" title="Gck Library Reference Manual">
8
<link rel="up" href="reference.html" title="PKCS#11 GObject Bindings">
9
<link rel="prev" href="GckAttributes.html" title="GckAttributes">
10
<link rel="next" href="GckEnumerator.html" title="GckEnumerator">
11
<meta name="generator" content="GTK-Doc V1.18 (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="2">
17
<td><a accesskey="p" href="GckAttributes.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18
<td><a accesskey="u" href="reference.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20
<th width="100%" align="center">Gck Library Reference Manual</th>
21
<td><a accesskey="n" href="GckEnumerator.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
23
<tr><td colspan="5" class="shortcuts">
24
<a href="#GckObjectCache.synopsis" class="shortcut">Top</a>
26
<a href="#GckObjectCache.description" class="shortcut">Description</a>
28
<a href="#GckObjectCache.object-hierarchy" class="shortcut">Object Hierarchy</a>
30
<a href="#GckObjectCache.prerequisites" class="shortcut">Prerequisites</a>
32
<a href="#GckObjectCache.properties" class="shortcut">Properties</a>
35
<div class="refentry">
36
<a name="GckObjectCache"></a><div class="titlepage"></div>
37
<div class="refnamediv"><table width="100%"><tr>
39
<h2><span class="refentrytitle"><a name="GckObjectCache.top_of_page"></a>GckObjectCache</span></h2>
40
<p>GckObjectCache — An interface which holds attributes for a PKCS#11 object</p>
42
<td valign="top" align="right"></td>
44
<div class="refsynopsisdiv">
45
<a name="GckObjectCache.synopsis"></a><h2>Synopsis</h2>
46
<pre class="synopsis"> <a class="link" href="GckObjectCache.html#GckObjectCache-struct" title="GckObjectCache">GckObjectCache</a>;
47
struct <a class="link" href="GckObjectCache.html#GckObjectCacheIface" title="struct GckObjectCacheIface">GckObjectCacheIface</a>;
48
<a class="link" href="GckAttributes.html" title="GckAttributes"><span class="returnvalue">GckAttributes</span></a> * <a class="link" href="GckObjectCache.html#gck-object-cache-get-attributes" title="gck_object_cache_get_attributes ()">gck_object_cache_get_attributes</a> (<em class="parameter"><code><a class="link" href="GckObjectCache.html" title="GckObjectCache"><span class="type">GckObjectCache</span></a> *object</code></em>);
49
<span class="returnvalue">void</span> <a class="link" href="GckObjectCache.html#gck-object-cache-set-attributes" title="gck_object_cache_set_attributes ()">gck_object_cache_set_attributes</a> (<em class="parameter"><code><a class="link" href="GckObjectCache.html" title="GckObjectCache"><span class="type">GckObjectCache</span></a> *object</code></em>,
50
<em class="parameter"><code><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> *attrs</code></em>);
51
<span class="returnvalue">void</span> <a class="link" href="GckObjectCache.html#gck-object-cache-fill" title="gck_object_cache_fill ()">gck_object_cache_fill</a> (<em class="parameter"><code><a class="link" href="GckObjectCache.html" title="GckObjectCache"><span class="type">GckObjectCache</span></a> *object</code></em>,
52
<em class="parameter"><code><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> *attrs</code></em>);
53
<a class="link" href="GckAttributes.html" title="GckAttributes"><span class="returnvalue">GckAttributes</span></a> * <a class="link" href="GckObjectCache.html#gck-object-cache-lookup" title="gck_object_cache_lookup ()">gck_object_cache_lookup</a> (<em class="parameter"><code><a class="link" href="GckObject.html" title="GckObject"><span class="type">GckObject</span></a> *object</code></em>,
54
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gulong"><span class="type">gulong</span></a> *attr_types</code></em>,
55
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n_attr_types</code></em>,
56
<em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GCancellable.html"><span class="type">GCancellable</span></a> *cancellable</code></em>,
57
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
58
<span class="returnvalue">void</span> <a class="link" href="GckObjectCache.html#gck-object-cache-lookup-async" title="gck_object_cache_lookup_async ()">gck_object_cache_lookup_async</a> (<em class="parameter"><code><a class="link" href="GckObject.html" title="GckObject"><span class="type">GckObject</span></a> *object</code></em>,
59
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gulong"><span class="type">gulong</span></a> *attr_types</code></em>,
60
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n_attr_types</code></em>,
61
<em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GCancellable.html"><span class="type">GCancellable</span></a> *cancellable</code></em>,
62
<em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
63
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
64
<a class="link" href="GckAttributes.html" title="GckAttributes"><span class="returnvalue">GckAttributes</span></a> * <a class="link" href="GckObjectCache.html#gck-object-cache-lookup-finish" title="gck_object_cache_lookup_finish ()">gck_object_cache_lookup_finish</a> (<em class="parameter"><code><a class="link" href="GckObject.html" title="GckObject"><span class="type">GckObject</span></a> *object</code></em>,
65
<em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GAsyncResult.html"><span class="type">GAsyncResult</span></a> *result</code></em>,
66
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</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="GckObjectCache.html#gck-object-cache-update" title="gck_object_cache_update ()">gck_object_cache_update</a> (<em class="parameter"><code><a class="link" href="GckObjectCache.html" title="GckObjectCache"><span class="type">GckObjectCache</span></a> *object</code></em>,
68
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gulong"><span class="type">gulong</span></a> *attr_types</code></em>,
69
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n_attr_types</code></em>,
70
<em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GCancellable.html"><span class="type">GCancellable</span></a> *cancellable</code></em>,
71
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
72
<span class="returnvalue">void</span> <a class="link" href="GckObjectCache.html#gck-object-cache-update-async" title="gck_object_cache_update_async ()">gck_object_cache_update_async</a> (<em class="parameter"><code><a class="link" href="GckObjectCache.html" title="GckObjectCache"><span class="type">GckObjectCache</span></a> *object</code></em>,
73
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gulong"><span class="type">gulong</span></a> *attr_types</code></em>,
74
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n_attr_types</code></em>,
75
<em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GCancellable.html"><span class="type">GCancellable</span></a> *cancellable</code></em>,
76
<em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
77
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
78
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GckObjectCache.html#gck-object-cache-update-finish" title="gck_object_cache_update_finish ()">gck_object_cache_update_finish</a> (<em class="parameter"><code><a class="link" href="GckObjectCache.html" title="GckObjectCache"><span class="type">GckObjectCache</span></a> *object</code></em>,
79
<em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GAsyncResult.html"><span class="type">GAsyncResult</span></a> *result</code></em>,
80
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
83
<div class="refsect1">
84
<a name="GckObjectCache.object-hierarchy"></a><h2>Object Hierarchy</h2>
85
<pre class="synopsis">
90
<div class="refsect1">
91
<a name="GckObjectCache.prerequisites"></a><h2>Prerequisites</h2>
93
GckObjectCache requires
94
<a class="link" href="GckObject.html" title="GckObject">GckObject</a>.</p>
96
<div class="refsect1">
97
<a name="GckObjectCache.properties"></a><h2>Properties</h2>
98
<pre class="synopsis">
99
"<a class="link" href="GckObjectCache.html#GckObjectCache--attributes" title='The "attributes" property'>attributes</a>" <a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a>* : Read / Write
102
<div class="refsect1">
103
<a name="GckObjectCache.description"></a><h2>Description</h2>
105
<a class="link" href="GckObjectCache.html" title="GckObjectCache"><span class="type">GckObjectCache</span></a> is an interface implemented by derived classes of
106
<a class="link" href="GckObject.html" title="GckObject"><span class="type">GckObject</span></a> to indicate which attributes they'd like an enumerator to retrieve.
107
These attributes are then cached on the object and can be retrieved through
108
the <a class="link" href="GckObjectCache.html#GckObjectCache--attributes" title='The "attributes" property'><span class="type">"attributes"</span></a> property.
111
<div class="refsect1">
112
<a name="GckObjectCache.details"></a><h2>Details</h2>
113
<div class="refsect2">
114
<a name="GckObjectCache-struct"></a><h3>GckObjectCache</h3>
115
<pre class="programlisting">typedef struct _GckObjectCache GckObjectCache;</pre>
117
An interface implemented on an <a class="link" href="GckObject.html" title="GckObject"><span class="type">GckObject</span></a> which contains a cache of attributes.
121
<div class="refsect2">
122
<a name="GckObjectCacheIface"></a><h3>struct GckObjectCacheIface</h3>
123
<pre class="programlisting">struct GckObjectCacheIface {
124
GTypeInterface interface;
126
const gulong * default_types;
127
gint n_default_types;
129
void (* fill) (GckObjectCache *object,
130
GckAttributes *attrs);
134
Interface for <a class="link" href="GckObjectCache.html" title="GckObjectCache"><span class="type">GckObjectCache</span></a>. If the <em class="parameter"><code>default_types</code></em> field is set by
135
a implementing class, then the a <a class="link" href="GckEnumerator.html" title="GckEnumerator"><span class="type">GckEnumerator</span></a> which has been setup using
136
<a class="link" href="GckEnumerator.html#gck-enumerator-set-object-type" title="gck_enumerator_set_object_type ()"><code class="function">gck_enumerator_set_object_type()</code></a>
139
The implementation for <em class="parameter"><code>populate</code></em> should add the attributes to the
140
cache. It must be thread safe.
142
<div class="variablelist"><table border="0">
143
<col align="left" valign="top">
146
<td><p><span class="term"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GTypeInterface"><span class="type">GTypeInterface</span></a> <em class="structfield"><code><a name="GckObjectCacheIface.interface"></a>interface</code></em>;</span></p></td>
147
<td>parent interface</td>
150
<td><p><span class="term">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gulong"><span class="type">gulong</span></a> *<em class="structfield"><code><a name="GckObjectCacheIface.default-types"></a>default_types</code></em>;</span></p></td>
151
<td>attribute types that an
152
enumerator should retrieve. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_default_types]</span>
156
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GckObjectCacheIface.n-default-types"></a>n_default_types</code></em>;</span></p></td>
157
<td>number of attribute types to be retrieved</td>
160
<td><p><span class="term"><em class="structfield"><code><a name="GckObjectCacheIface.fill"></a>fill</code></em> ()</span></p></td>
161
<td>virtual method to add attributes to the cache</td>
167
<div class="refsect2">
168
<a name="gck-object-cache-get-attributes"></a><h3>gck_object_cache_get_attributes ()</h3>
169
<pre class="programlisting"><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="returnvalue">GckAttributes</span></a> * gck_object_cache_get_attributes (<em class="parameter"><code><a class="link" href="GckObjectCache.html" title="GckObjectCache"><span class="type">GckObjectCache</span></a> *object</code></em>);</pre>
171
Gets the attributes cached on this object.
173
<div class="variablelist"><table border="0">
174
<col align="left" valign="top">
177
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
178
<td>an object with an attribute cache</td>
181
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
182
<td>the attributes. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
189
<div class="refsect2">
190
<a name="gck-object-cache-set-attributes"></a><h3>gck_object_cache_set_attributes ()</h3>
191
<pre class="programlisting"><span class="returnvalue">void</span> gck_object_cache_set_attributes (<em class="parameter"><code><a class="link" href="GckObjectCache.html" title="GckObjectCache"><span class="type">GckObjectCache</span></a> *object</code></em>,
192
<em class="parameter"><code><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> *attrs</code></em>);</pre>
194
Sets the attributes cached on this object.
197
If the <em class="parameter"><code>attrs</code></em> <a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> is floating, it is consumed.
199
<div class="variablelist"><table border="0">
200
<col align="left" valign="top">
203
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
204
<td>an object with an attribute cache</td>
207
<td><p><span class="term"><em class="parameter"><code>attrs</code></em> :</span></p></td>
208
<td>the attributes to set. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
215
<div class="refsect2">
216
<a name="gck-object-cache-fill"></a><h3>gck_object_cache_fill ()</h3>
217
<pre class="programlisting"><span class="returnvalue">void</span> gck_object_cache_fill (<em class="parameter"><code><a class="link" href="GckObjectCache.html" title="GckObjectCache"><span class="type">GckObjectCache</span></a> *object</code></em>,
218
<em class="parameter"><code><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> *attrs</code></em>);</pre>
220
Adds the attributes to the set cached on this object. If an attribute is
221
already present in the cache it will be overridden by this value.
224
This will be done in a thread-safe manner.
227
If the <em class="parameter"><code>attrs</code></em> <a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a> is floating, it is consumed.
229
<div class="variablelist"><table border="0">
230
<col align="left" valign="top">
233
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
234
<td>an object with the cache</td>
237
<td><p><span class="term"><em class="parameter"><code>attrs</code></em> :</span></p></td>
238
<td>the attributes to cache</td>
244
<div class="refsect2">
245
<a name="gck-object-cache-lookup"></a><h3>gck_object_cache_lookup ()</h3>
246
<pre class="programlisting"><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="returnvalue">GckAttributes</span></a> * gck_object_cache_lookup (<em class="parameter"><code><a class="link" href="GckObject.html" title="GckObject"><span class="type">GckObject</span></a> *object</code></em>,
247
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gulong"><span class="type">gulong</span></a> *attr_types</code></em>,
248
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n_attr_types</code></em>,
249
<em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GCancellable.html"><span class="type">GCancellable</span></a> *cancellable</code></em>,
250
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
252
Lookup attributes in the cache, or retrieve them from the object if necessary.
255
If <em class="parameter"><code>object</code></em> is a <a class="link" href="GckObjectCache.html" title="GckObjectCache"><span class="type">GckObjectCache</span></a> then this will lookup the attributes there
256
first if available, otherwise will read them from the object and update
260
If <em class="parameter"><code>object</code></em> is not a <a class="link" href="GckObjectCache.html" title="GckObjectCache"><span class="type">GckObjectCache</span></a>, then the attributes will simply be
261
read from the object.
264
This may block, use the asynchronous version when this is not desirable
266
<div class="variablelist"><table border="0">
267
<col align="left" valign="top">
270
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
274
<td><p><span class="term"><em class="parameter"><code>attr_types</code></em> :</span></p></td>
275
<td>the types of attributes to update. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_attr_types]</span>
279
<td><p><span class="term"><em class="parameter"><code>n_attr_types</code></em> :</span></p></td>
280
<td>the number of attribute types</td>
283
<td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
284
<td>optional cancellation object</td>
287
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
288
<td>location to place an error</td>
291
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
292
<td>the attributes retrieved or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on failure. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
299
<div class="refsect2">
300
<a name="gck-object-cache-lookup-async"></a><h3>gck_object_cache_lookup_async ()</h3>
301
<pre class="programlisting"><span class="returnvalue">void</span> gck_object_cache_lookup_async (<em class="parameter"><code><a class="link" href="GckObject.html" title="GckObject"><span class="type">GckObject</span></a> *object</code></em>,
302
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gulong"><span class="type">gulong</span></a> *attr_types</code></em>,
303
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n_attr_types</code></em>,
304
<em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GCancellable.html"><span class="type">GCancellable</span></a> *cancellable</code></em>,
305
<em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
306
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
308
Lookup attributes in the cache, or retrieve them from the object if necessary.
311
If <em class="parameter"><code>object</code></em> is a <a class="link" href="GckObjectCache.html" title="GckObjectCache"><span class="type">GckObjectCache</span></a> then this will lookup the attributes there
312
first if available, otherwise will read them from the object and update
316
If <em class="parameter"><code>object</code></em> is not a <a class="link" href="GckObjectCache.html" title="GckObjectCache"><span class="type">GckObjectCache</span></a>, then the attributes will simply be
317
read from the object.
320
This will return immediately and complete asynchronously
322
<div class="variablelist"><table border="0">
323
<col align="left" valign="top">
326
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
330
<td><p><span class="term"><em class="parameter"><code>attr_types</code></em> :</span></p></td>
331
<td>the types of attributes to update. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_attr_types]</span>
335
<td><p><span class="term"><em class="parameter"><code>n_attr_types</code></em> :</span></p></td>
336
<td>the number of attribute types</td>
339
<td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
340
<td>optional cancellation object</td>
343
<td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
344
<td>called when the operation completes</td>
347
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
348
<td>data to pass to the callback</td>
354
<div class="refsect2">
355
<a name="gck-object-cache-lookup-finish"></a><h3>gck_object_cache_lookup_finish ()</h3>
356
<pre class="programlisting"><a class="link" href="GckAttributes.html" title="GckAttributes"><span class="returnvalue">GckAttributes</span></a> * gck_object_cache_lookup_finish (<em class="parameter"><code><a class="link" href="GckObject.html" title="GckObject"><span class="type">GckObject</span></a> *object</code></em>,
357
<em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GAsyncResult.html"><span class="type">GAsyncResult</span></a> *result</code></em>,
358
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
360
Complete an operation to lookup attributes in the cache or retrieve them
361
from the object if necessary.
363
<div class="variablelist"><table border="0">
364
<col align="left" valign="top">
367
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
371
<td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
372
<td>the asynchrounous result passed to the callback</td>
375
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
376
<td>location to place an error</td>
379
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
380
<td>the attributes retrieved or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on failure. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
387
<div class="refsect2">
388
<a name="gck-object-cache-update"></a><h3>gck_object_cache_update ()</h3>
389
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gck_object_cache_update (<em class="parameter"><code><a class="link" href="GckObjectCache.html" title="GckObjectCache"><span class="type">GckObjectCache</span></a> *object</code></em>,
390
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gulong"><span class="type">gulong</span></a> *attr_types</code></em>,
391
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n_attr_types</code></em>,
392
<em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GCancellable.html"><span class="type">GCancellable</span></a> *cancellable</code></em>,
393
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
395
Update the object cache with given attributes. If an attribute already
396
exists in the cache, it will be updated, and if it doesn't it will be added.
399
This may block, use the asynchronous version when this is not desirable
401
<div class="variablelist"><table border="0">
402
<col align="left" valign="top">
405
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
406
<td>the object with the cache</td>
409
<td><p><span class="term"><em class="parameter"><code>attr_types</code></em> :</span></p></td>
410
<td>the types of attributes to update. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_attr_types]</span>
414
<td><p><span class="term"><em class="parameter"><code>n_attr_types</code></em> :</span></p></td>
415
<td>the number of attribute types</td>
418
<td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
419
<td>optional cancellation object</td>
422
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
423
<td>location to place an error</td>
426
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
427
<td>whether the cache update was successful</td>
433
<div class="refsect2">
434
<a name="gck-object-cache-update-async"></a><h3>gck_object_cache_update_async ()</h3>
435
<pre class="programlisting"><span class="returnvalue">void</span> gck_object_cache_update_async (<em class="parameter"><code><a class="link" href="GckObjectCache.html" title="GckObjectCache"><span class="type">GckObjectCache</span></a> *object</code></em>,
436
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gulong"><span class="type">gulong</span></a> *attr_types</code></em>,
437
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n_attr_types</code></em>,
438
<em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GCancellable.html"><span class="type">GCancellable</span></a> *cancellable</code></em>,
439
<em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
440
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
442
Update the object cache with given attributes. If an attribute already
443
exists in the cache, it will be updated, and if it doesn't it will be added.
446
This call will return immediately and complete asynchronously.
448
<div class="variablelist"><table border="0">
449
<col align="left" valign="top">
452
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
453
<td>the object with the cache</td>
456
<td><p><span class="term"><em class="parameter"><code>attr_types</code></em> :</span></p></td>
457
<td>the types of attributes to update. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_attr_types]</span>
461
<td><p><span class="term"><em class="parameter"><code>n_attr_types</code></em> :</span></p></td>
462
<td>the number of attribute types</td>
465
<td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
466
<td>optional cancellation object</td>
469
<td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
470
<td>called when the operation completes</td>
473
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
474
<td>data to be passed to the callback</td>
480
<div class="refsect2">
481
<a name="gck-object-cache-update-finish"></a><h3>gck_object_cache_update_finish ()</h3>
482
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gck_object_cache_update_finish (<em class="parameter"><code><a class="link" href="GckObjectCache.html" title="GckObjectCache"><span class="type">GckObjectCache</span></a> *object</code></em>,
483
<em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GAsyncResult.html"><span class="type">GAsyncResult</span></a> *result</code></em>,
484
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
486
Complete an asynchronous operation to update the object cache with given
489
<div class="variablelist"><table border="0">
490
<col align="left" valign="top">
493
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
494
<td>the object with the cache</td>
497
<td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
498
<td>the asynchronous result passed to the callback</td>
501
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
502
<td>location to place an error</td>
505
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
506
<td>whether the cache update was successful</td>
512
<div class="refsect1">
513
<a name="GckObjectCache.property-details"></a><h2>Property Details</h2>
514
<div class="refsect2">
515
<a name="GckObjectCache--attributes"></a><h3>The <code class="literal">"attributes"</code> property</h3>
516
<pre class="programlisting"> "attributes" <a class="link" href="GckAttributes.html" title="GckAttributes"><span class="type">GckAttributes</span></a>* : Read / Write</pre>
518
The attributes cached on this object.
525
Generated by GTK-Doc V1.18</div>
b'\\ No newline at end of file'