1
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
6
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
7
<link rel="home" href="index.html" title="Evolution-Data-Server Reference Manual">
8
<link rel="up" href="ch16.html" title="Backend Deprecated Classes">
9
<link rel="prev" href="ch16.html" title="Backend Deprecated Classes">
10
<link rel="next" href="eds-EOfflineListener.html" title="EOfflineListener">
11
<meta name="generator" content="GTK-Doc V1.19 (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="ch16.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18
<td><a accesskey="u" href="ch16.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">Evolution-Data-Server Reference Manual</th>
21
<td><a accesskey="n" href="eds-EOfflineListener.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="#eds-EDbHash.synopsis" class="shortcut">Top</a>
26
<a href="#eds-EDbHash.description" class="shortcut">Description</a>
29
<div class="refentry">
30
<a name="eds-EDbHash"></a><div class="titlepage"></div>
31
<div class="refnamediv"><table width="100%"><tr>
33
<h2><span class="refentrytitle"><a name="eds-EDbHash.top_of_page"></a>EDbHash</span></h2>
34
<p>EDbHash — Simple DB-based hash table for strings</p>
36
<td valign="top" align="right"></td>
38
<div class="refsynopsisdiv">
39
<a name="eds-EDbHash.synopsis"></a><h2>Synopsis</h2>
40
<pre class="synopsis">enum <a class="link" href="eds-EDbHash.html#EDbHashStatus" title="enum EDbHashStatus">EDbHashStatus</a>;
41
struct <a class="link" href="eds-EDbHash.html#EDbHash" title="struct EDbHash">EDbHash</a>;
42
<span class="returnvalue">void</span> (<a class="link" href="eds-EDbHash.html#EDbHashFunc" title="EDbHashFunc ()">*EDbHashFunc</a>) (<em class="parameter"><code>const <span class="type">gchar</span> *key</code></em>,
43
<em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);
44
<a class="link" href="eds-EDbHash.html#EDbHash" title="struct EDbHash"><span class="returnvalue">EDbHash</span></a> * <a class="link" href="eds-EDbHash.html#e-dbhash-new" title="e_dbhash_new ()">e_dbhash_new</a> (<em class="parameter"><code>const <span class="type">gchar</span> *filename</code></em>);
45
<span class="returnvalue">void</span> <a class="link" href="eds-EDbHash.html#e-dbhash-add" title="e_dbhash_add ()">e_dbhash_add</a> (<em class="parameter"><code><a class="link" href="eds-EDbHash.html#EDbHash" title="struct EDbHash"><span class="type">EDbHash</span></a> *edbh</code></em>,
46
<em class="parameter"><code>const <span class="type">gchar</span> *key</code></em>,
47
<em class="parameter"><code>const <span class="type">gchar</span> *data</code></em>);
48
<span class="returnvalue">void</span> <a class="link" href="eds-EDbHash.html#e-dbhash-remove" title="e_dbhash_remove ()">e_dbhash_remove</a> (<em class="parameter"><code><a class="link" href="eds-EDbHash.html#EDbHash" title="struct EDbHash"><span class="type">EDbHash</span></a> *edbh</code></em>,
49
<em class="parameter"><code>const <span class="type">gchar</span> *key</code></em>);
50
<a class="link" href="eds-EDbHash.html#EDbHashStatus" title="enum EDbHashStatus"><span class="returnvalue">EDbHashStatus</span></a> <a class="link" href="eds-EDbHash.html#e-dbhash-compare" title="e_dbhash_compare ()">e_dbhash_compare</a> (<em class="parameter"><code><a class="link" href="eds-EDbHash.html#EDbHash" title="struct EDbHash"><span class="type">EDbHash</span></a> *edbh</code></em>,
51
<em class="parameter"><code>const <span class="type">gchar</span> *key</code></em>,
52
<em class="parameter"><code>const <span class="type">gchar</span> *compare_data</code></em>);
53
<span class="returnvalue">void</span> <a class="link" href="eds-EDbHash.html#e-dbhash-foreach-key" title="e_dbhash_foreach_key ()">e_dbhash_foreach_key</a> (<em class="parameter"><code><a class="link" href="eds-EDbHash.html#EDbHash" title="struct EDbHash"><span class="type">EDbHash</span></a> *edbh</code></em>,
54
<em class="parameter"><code><a class="link" href="eds-EDbHash.html#EDbHashFunc" title="EDbHashFunc ()"><span class="type">EDbHashFunc</span></a> func</code></em>,
55
<em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);
56
<span class="returnvalue">void</span> <a class="link" href="eds-EDbHash.html#e-dbhash-write" title="e_dbhash_write ()">e_dbhash_write</a> (<em class="parameter"><code><a class="link" href="eds-EDbHash.html#EDbHash" title="struct EDbHash"><span class="type">EDbHash</span></a> *edbh</code></em>);
57
<span class="returnvalue">void</span> <a class="link" href="eds-EDbHash.html#e-dbhash-destroy" title="e_dbhash_destroy ()">e_dbhash_destroy</a> (<em class="parameter"><code><a class="link" href="eds-EDbHash.html#EDbHash" title="struct EDbHash"><span class="type">EDbHash</span></a> *edbh</code></em>);
58
<a class="link" href="eds-EDbHash.html#EDbHashPrivate" title="EDbHashPrivate">EDbHashPrivate</a>;
61
<div class="refsect1">
62
<a name="eds-EDbHash.description"></a><h2>Description</h2>
64
An <a class="link" href="eds-EDbHash.html#EDbHash" title="struct EDbHash"><span class="type">EDbHash</span></a> is a simple hash table of strings backed by a Berkeley DB
65
file for permanent storage.
68
<div class="refsect1">
69
<a name="eds-EDbHash.details"></a><h2>Details</h2>
70
<div class="refsect2">
71
<a name="EDbHashStatus"></a><h3>enum EDbHashStatus</h3>
72
<pre class="programlisting">typedef enum {
74
E_DBHASH_STATUS_DIFFERENT,
75
E_DBHASH_STATUS_NOT_FOUND
78
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
79
<h3 class="title">Warning</h3>
80
<p><code class="literal">EDbHashStatus</code> is deprecated and should not be used in newly-written code.</p>
83
Return codes for <a class="link" href="eds-EDbHash.html#e-dbhash-compare" title="e_dbhash_compare ()"><code class="function">e_dbhash_compare()</code></a>.
85
<div class="variablelist"><table border="0">
86
<col align="left" valign="top">
89
<td><p><a name="E-DBHASH-STATUS-SAME:CAPS"></a><span class="term"><code class="literal">E_DBHASH_STATUS_SAME</code></span></p></td>
90
<td> The checksums match.
94
<td><p><a name="E-DBHASH-STATUS-DIFFERENT:CAPS"></a><span class="term"><code class="literal">E_DBHASH_STATUS_DIFFERENT</code></span></p></td>
95
<td> The checksums differ.
99
<td><p><a name="E-DBHASH-STATUS-NOT-FOUND:CAPS"></a><span class="term"><code class="literal">E_DBHASH_STATUS_NOT_FOUND</code></span></p></td>
100
<td> The given key was not found.
107
<div class="refsect2">
108
<a name="EDbHash"></a><h3>struct EDbHash</h3>
109
<pre class="programlisting">struct EDbHash {
110
EDbHashPrivate *priv;
113
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
114
<h3 class="title">Warning</h3>
115
<p><code class="literal">EDbHash</code> is deprecated and should not be used in newly-written code.</p>
118
Contains only private data that should be read and manipulated using the
121
<div class="variablelist"><table border="0">
122
<col align="left" valign="top">
124
<td><p><span class="term"><a class="link" href="eds-EDbHash.html#EDbHashPrivate" title="EDbHashPrivate"><span class="type">EDbHashPrivate</span></a> *<em class="structfield"><code><a name="EDbHash.priv"></a>priv</code></em>;</span></p></td>
125
<td>private data</td>
130
<div class="refsect2">
131
<a name="EDbHashFunc"></a><h3>EDbHashFunc ()</h3>
132
<pre class="programlisting"><span class="returnvalue">void</span> (*EDbHashFunc) (<em class="parameter"><code>const <span class="type">gchar</span> *key</code></em>,
133
<em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre>
134
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
135
<h3 class="title">Warning</h3>
136
<p><code class="literal">EDbHashFunc</code> is deprecated and should not be used in newly-written code.</p>
139
Callback function used in <a class="link" href="eds-EDbHash.html#e-dbhash-foreach-key" title="e_dbhash_foreach_key ()"><code class="function">e_dbhash_foreach_key()</code></a>.
141
<div class="variablelist"><table border="0">
142
<col align="left" valign="top">
145
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
146
<td>a database key</td>
149
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
150
<td>user data passed to <a class="link" href="eds-EDbHash.html#e-dbhash-foreach-key" title="e_dbhash_foreach_key ()"><code class="function">e_dbhash_foreach_key()</code></a>
157
<div class="refsect2">
158
<a name="e-dbhash-new"></a><h3>e_dbhash_new ()</h3>
159
<pre class="programlisting"><a class="link" href="eds-EDbHash.html#EDbHash" title="struct EDbHash"><span class="returnvalue">EDbHash</span></a> * e_dbhash_new (<em class="parameter"><code>const <span class="type">gchar</span> *filename</code></em>);</pre>
160
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
161
<h3 class="title">Warning</h3>
162
<p><code class="literal">e_dbhash_new</code> is deprecated and should not be used in newly-written code.</p>
165
Creates a new <a class="link" href="eds-EDbHash.html#EDbHash" title="struct EDbHash"><span class="type">EDbHash</span></a> structure and opens the given Berkeley DB file,
166
creating the DB file if necessary.
168
<div class="variablelist"><table border="0">
169
<col align="left" valign="top">
172
<td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td>
173
<td>path to a Berkeley DB file</td>
176
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
177
<td>a new <a class="link" href="eds-EDbHash.html#EDbHash" title="struct EDbHash"><span class="type">EDbHash</span></a>
184
<div class="refsect2">
185
<a name="e-dbhash-add"></a><h3>e_dbhash_add ()</h3>
186
<pre class="programlisting"><span class="returnvalue">void</span> e_dbhash_add (<em class="parameter"><code><a class="link" href="eds-EDbHash.html#EDbHash" title="struct EDbHash"><span class="type">EDbHash</span></a> *edbh</code></em>,
187
<em class="parameter"><code>const <span class="type">gchar</span> *key</code></em>,
188
<em class="parameter"><code>const <span class="type">gchar</span> *data</code></em>);</pre>
189
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
190
<h3 class="title">Warning</h3>
191
<p><code class="literal">e_dbhash_add</code> is deprecated and should not be used in newly-written code.</p>
194
Adds a database object for <em class="parameter"><code>key</code></em>.
196
<div class="variablelist"><table border="0">
197
<col align="left" valign="top">
200
<td><p><span class="term"><em class="parameter"><code>edbh</code></em> :</span></p></td>
201
<td>an <a class="link" href="eds-EDbHash.html#EDbHash" title="struct EDbHash"><span class="type">EDbHash</span></a>
205
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
206
<td>a database key</td>
209
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
210
<td>a database object for <em class="parameter"><code>key</code></em>
217
<div class="refsect2">
218
<a name="e-dbhash-remove"></a><h3>e_dbhash_remove ()</h3>
219
<pre class="programlisting"><span class="returnvalue">void</span> e_dbhash_remove (<em class="parameter"><code><a class="link" href="eds-EDbHash.html#EDbHash" title="struct EDbHash"><span class="type">EDbHash</span></a> *edbh</code></em>,
220
<em class="parameter"><code>const <span class="type">gchar</span> *key</code></em>);</pre>
221
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
222
<h3 class="title">Warning</h3>
223
<p><code class="literal">e_dbhash_remove</code> is deprecated and should not be used in newly-written code.</p>
226
Removes the database object corresponding to <em class="parameter"><code>key</code></em>.
228
<div class="variablelist"><table border="0">
229
<col align="left" valign="top">
232
<td><p><span class="term"><em class="parameter"><code>edbh</code></em> :</span></p></td>
233
<td>an <a class="link" href="eds-EDbHash.html#EDbHash" title="struct EDbHash"><span class="type">EDbHash</span></a>
237
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
238
<td>a database key</td>
244
<div class="refsect2">
245
<a name="e-dbhash-compare"></a><h3>e_dbhash_compare ()</h3>
246
<pre class="programlisting"><a class="link" href="eds-EDbHash.html#EDbHashStatus" title="enum EDbHashStatus"><span class="returnvalue">EDbHashStatus</span></a> e_dbhash_compare (<em class="parameter"><code><a class="link" href="eds-EDbHash.html#EDbHash" title="struct EDbHash"><span class="type">EDbHash</span></a> *edbh</code></em>,
247
<em class="parameter"><code>const <span class="type">gchar</span> *key</code></em>,
248
<em class="parameter"><code>const <span class="type">gchar</span> *compare_data</code></em>);</pre>
249
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
250
<h3 class="title">Warning</h3>
251
<p><code class="literal">e_dbhash_compare</code> is deprecated and should not be used in newly-written code.</p>
254
Compares <em class="parameter"><code>compare_data</code></em> to the database object corresponding to
255
<em class="parameter"><code>key</code></em> using an MD5 checksum. Returns <a class="link" href="eds-EDbHash.html#E-DBHASH-STATUS-SAME:CAPS"><span class="type">E_DBHASH_STATUS_SAME</span></a> if the
256
checksums match, <a class="link" href="eds-EDbHash.html#E-DBHASH-STATUS-DIFFERENT:CAPS"><span class="type">E_DBHASH_STATUS_DIFFERENT</span></a> if the checksums differ,
257
or <a class="link" href="eds-EDbHash.html#E-DBHASH-STATUS-NOT-FOUND:CAPS"><span class="type">E_DBHASH_STATUS_NOT_FOUND</span></a> if <em class="parameter"><code>key</code></em> is not present in the database.
259
<div class="variablelist"><table border="0">
260
<col align="left" valign="top">
263
<td><p><span class="term"><em class="parameter"><code>edbh</code></em> :</span></p></td>
264
<td>an <a class="link" href="eds-EDbHash.html#EDbHash" title="struct EDbHash"><span class="type">EDbHash</span></a>
268
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
269
<td>a database key</td>
272
<td><p><span class="term"><em class="parameter"><code>compare_data</code></em> :</span></p></td>
273
<td>data to compare against the database</td>
276
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
277
<td>a checksum comparison status</td>
283
<div class="refsect2">
284
<a name="e-dbhash-foreach-key"></a><h3>e_dbhash_foreach_key ()</h3>
285
<pre class="programlisting"><span class="returnvalue">void</span> e_dbhash_foreach_key (<em class="parameter"><code><a class="link" href="eds-EDbHash.html#EDbHash" title="struct EDbHash"><span class="type">EDbHash</span></a> *edbh</code></em>,
286
<em class="parameter"><code><a class="link" href="eds-EDbHash.html#EDbHashFunc" title="EDbHashFunc ()"><span class="type">EDbHashFunc</span></a> func</code></em>,
287
<em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre>
288
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
289
<h3 class="title">Warning</h3>
290
<p><code class="literal">e_dbhash_foreach_key</code> is deprecated and should not be used in newly-written code.</p>
293
Calls <em class="parameter"><code>func</code></em> for each database object.
295
<div class="variablelist"><table border="0">
296
<col align="left" valign="top">
299
<td><p><span class="term"><em class="parameter"><code>edbh</code></em> :</span></p></td>
300
<td>an <a class="link" href="eds-EDbHash.html#EDbHash" title="struct EDbHash"><span class="type">EDbHash</span></a>
304
<td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
305
<td>a callback function</td>
308
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
309
<td>data to pass to <em class="parameter"><code>func</code></em>
316
<div class="refsect2">
317
<a name="e-dbhash-write"></a><h3>e_dbhash_write ()</h3>
318
<pre class="programlisting"><span class="returnvalue">void</span> e_dbhash_write (<em class="parameter"><code><a class="link" href="eds-EDbHash.html#EDbHash" title="struct EDbHash"><span class="type">EDbHash</span></a> *edbh</code></em>);</pre>
319
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
320
<h3 class="title">Warning</h3>
321
<p><code class="literal">e_dbhash_write</code> is deprecated and should not be used in newly-written code.</p>
324
Flushes database changes to disk.
326
<div class="variablelist"><table border="0">
327
<col align="left" valign="top">
329
<td><p><span class="term"><em class="parameter"><code>edbh</code></em> :</span></p></td>
330
<td>an <a class="link" href="eds-EDbHash.html#EDbHash" title="struct EDbHash"><span class="type">EDbHash</span></a>
336
<div class="refsect2">
337
<a name="e-dbhash-destroy"></a><h3>e_dbhash_destroy ()</h3>
338
<pre class="programlisting"><span class="returnvalue">void</span> e_dbhash_destroy (<em class="parameter"><code><a class="link" href="eds-EDbHash.html#EDbHash" title="struct EDbHash"><span class="type">EDbHash</span></a> *edbh</code></em>);</pre>
339
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
340
<h3 class="title">Warning</h3>
341
<p><code class="literal">e_dbhash_destroy</code> is deprecated and should not be used in newly-written code.</p>
344
Closes the database file and frees the <a class="link" href="eds-EDbHash.html#EDbHash" title="struct EDbHash"><span class="type">EDbHash</span></a>.
346
<div class="variablelist"><table border="0">
347
<col align="left" valign="top">
349
<td><p><span class="term"><em class="parameter"><code>edbh</code></em> :</span></p></td>
350
<td>an <a class="link" href="eds-EDbHash.html#EDbHash" title="struct EDbHash"><span class="type">EDbHash</span></a>
356
<div class="refsect2">
357
<a name="EDbHashPrivate"></a><h3>EDbHashPrivate</h3>
358
<pre class="programlisting">typedef struct _EDbHashPrivate EDbHashPrivate;</pre>
359
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
360
<h3 class="title">Warning</h3>
361
<p><code class="literal">EDbHashPrivate</code> is deprecated and should not be used in newly-written code.</p>
368
Generated by GTK-Doc V1.19</div>
b'\\ No newline at end of file'