46
enum <a href="libedataserver-e-xml-hash-utils.html#EXmlHashType">EXmlHashType</a>;
48
href="/opt/gnome/share/gtk-doc/html/glib/glib-Hash-Tables.html#GHashTable"
49
>GHashTable</a>* <a href="libedataserver-e-xml-hash-utils.html#e-xml-to-hash">e_xml_to_hash</a> (xmlDoc *doc,
50
<a href="libedataserver-e-xml-hash-utils.html#EXmlHashType">EXmlHashType</a> type);
51
xmlDoc* <a href="libedataserver-e-xml-hash-utils.html#e-xml-from-hash">e_xml_from_hash</a> (<a
52
href="/opt/gnome/share/gtk-doc/html/glib/glib-Hash-Tables.html#GHashTable"
53
>GHashTable</a> *hash,
54
<a href="libedataserver-e-xml-hash-utils.html#EXmlHashType">EXmlHashType</a> type,
46
enum <a class="link" href="libedataserver-e-xml-hash-utils.html#EXmlHashType">EXmlHashType</a>;
47
GHashTable* <a class="link" href="libedataserver-e-xml-hash-utils.html#e-xml-to-hash">e_xml_to_hash</a> (xmlDoc *doc,
48
<a class="link" href="libedataserver-e-xml-hash-utils.html#EXmlHashType">EXmlHashType</a> type);
49
xmlDoc* <a class="link" href="libedataserver-e-xml-hash-utils.html#e-xml-from-hash">e_xml_from_hash</a> (GHashTable *hash,
50
<a class="link" href="libedataserver-e-xml-hash-utils.html#EXmlHashType">EXmlHashType</a> type,
55
51
const char *root_node);
56
void <a href="libedataserver-e-xml-hash-utils.html#e-xml-destroy-hash">e_xml_destroy_hash</a> (<a
57
href="/opt/gnome/share/gtk-doc/html/glib/glib-Hash-Tables.html#GHashTable"
58
>GHashTable</a> *hash);
59
enum <a href="libedataserver-e-xml-hash-utils.html#EXmlHashStatus">EXmlHashStatus</a>;
60
void (<a href="libedataserver-e-xml-hash-utils.html#EXmlHashFunc">*EXmlHashFunc</a>) (const char *key,
63
href="/opt/gnome/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"
64
>gpointer</a> user_data);
66
href="/opt/gnome/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
67
>gboolean</a> (<a href="libedataserver-e-xml-hash-utils.html#EXmlHashRemoveFunc">*EXmlHashRemoveFunc</a>) (const char *key,
70
href="/opt/gnome/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"
71
>gpointer</a> user_data);
72
typedef <a href="libedataserver-e-xml-hash-utils.html#EXmlHash">EXmlHash</a>;
73
<a href="libedataserver-e-xml-hash-utils.html#EXmlHash">EXmlHash</a>* <a href="libedataserver-e-xml-hash-utils.html#e-xmlhash-new">e_xmlhash_new</a> (const char *filename);
74
void <a href="libedataserver-e-xml-hash-utils.html#e-xmlhash-add">e_xmlhash_add</a> (<a href="libedataserver-e-xml-hash-utils.html#EXmlHash">EXmlHash</a> *hash,
52
void <a class="link" href="libedataserver-e-xml-hash-utils.html#e-xml-destroy-hash">e_xml_destroy_hash</a> (GHashTable *hash);
53
enum <a class="link" href="libedataserver-e-xml-hash-utils.html#EXmlHashStatus">EXmlHashStatus</a>;
54
void (<a class="link" href="libedataserver-e-xml-hash-utils.html#EXmlHashFunc">*EXmlHashFunc</a>) (const char *key,
57
gboolean (<a class="link" href="libedataserver-e-xml-hash-utils.html#EXmlHashRemoveFunc">*EXmlHashRemoveFunc</a>) (const char *key,
60
typedef <a class="link" href="libedataserver-e-xml-hash-utils.html#EXmlHash">EXmlHash</a>;
61
<a class="link" href="libedataserver-e-xml-hash-utils.html#EXmlHash">EXmlHash</a>* <a class="link" href="libedataserver-e-xml-hash-utils.html#e-xmlhash-new">e_xmlhash_new</a> (const char *filename);
62
void <a class="link" href="libedataserver-e-xml-hash-utils.html#e-xmlhash-add">e_xmlhash_add</a> (<a class="link" href="libedataserver-e-xml-hash-utils.html#EXmlHash">EXmlHash</a> *hash,
77
void <a href="libedataserver-e-xml-hash-utils.html#e-xmlhash-remove">e_xmlhash_remove</a> (<a href="libedataserver-e-xml-hash-utils.html#EXmlHash">EXmlHash</a> *hash,
65
void <a class="link" href="libedataserver-e-xml-hash-utils.html#e-xmlhash-remove">e_xmlhash_remove</a> (<a class="link" href="libedataserver-e-xml-hash-utils.html#EXmlHash">EXmlHash</a> *hash,
79
<a href="libedataserver-e-xml-hash-utils.html#EXmlHashStatus">EXmlHashStatus</a> <a href="libedataserver-e-xml-hash-utils.html#e-xmlhash-compare">e_xmlhash_compare</a> (<a href="libedataserver-e-xml-hash-utils.html#EXmlHash">EXmlHash</a> *hash,
67
<a class="link" href="libedataserver-e-xml-hash-utils.html#EXmlHashStatus">EXmlHashStatus</a> <a class="link" href="libedataserver-e-xml-hash-utils.html#e-xmlhash-compare">e_xmlhash_compare</a> (<a class="link" href="libedataserver-e-xml-hash-utils.html#EXmlHash">EXmlHash</a> *hash,
81
69
const char *compare_data);
82
void <a href="libedataserver-e-xml-hash-utils.html#e-xmlhash-foreach-key">e_xmlhash_foreach_key</a> (<a href="libedataserver-e-xml-hash-utils.html#EXmlHash">EXmlHash</a> *hash,
83
<a href="libedataserver-e-xml-hash-utils.html#EXmlHashFunc">EXmlHashFunc</a> func,
85
href="/opt/gnome/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"
86
>gpointer</a> user_data);
87
void <a href="libedataserver-e-xml-hash-utils.html#e-xmlhash-foreach-key-remove">e_xmlhash_foreach_key_remove</a> (<a href="libedataserver-e-xml-hash-utils.html#EXmlHash">EXmlHash</a> *hash,
88
<a href="libedataserver-e-xml-hash-utils.html#EXmlHashRemoveFunc">EXmlHashRemoveFunc</a> func,
90
href="/opt/gnome/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"
91
>gpointer</a> user_data);
92
void <a href="libedataserver-e-xml-hash-utils.html#e-xmlhash-write">e_xmlhash_write</a> (<a href="libedataserver-e-xml-hash-utils.html#EXmlHash">EXmlHash</a> *hash);
93
void <a href="libedataserver-e-xml-hash-utils.html#e-xmlhash-destroy">e_xmlhash_destroy</a> (<a href="libedataserver-e-xml-hash-utils.html#EXmlHash">EXmlHash</a> *hash);
70
void <a class="link" href="libedataserver-e-xml-hash-utils.html#e-xmlhash-foreach-key">e_xmlhash_foreach_key</a> (<a class="link" href="libedataserver-e-xml-hash-utils.html#EXmlHash">EXmlHash</a> *hash,
71
<a class="link" href="libedataserver-e-xml-hash-utils.html#EXmlHashFunc">EXmlHashFunc</a> func,
73
void <a class="link" href="libedataserver-e-xml-hash-utils.html#e-xmlhash-foreach-key-remove">e_xmlhash_foreach_key_remove</a> (<a class="link" href="libedataserver-e-xml-hash-utils.html#EXmlHash">EXmlHash</a> *hash,
74
<a class="link" href="libedataserver-e-xml-hash-utils.html#EXmlHashRemoveFunc">EXmlHashRemoveFunc</a> func,
76
void <a class="link" href="libedataserver-e-xml-hash-utils.html#e-xmlhash-write">e_xmlhash_write</a> (<a class="link" href="libedataserver-e-xml-hash-utils.html#EXmlHash">EXmlHash</a> *hash);
77
void <a class="link" href="libedataserver-e-xml-hash-utils.html#e-xmlhash-destroy">e_xmlhash_destroy</a> (<a class="link" href="libedataserver-e-xml-hash-utils.html#EXmlHash">EXmlHash</a> *hash);
96
80
<div class="refsect1" lang="en">
97
<a name="id2628052"></a><h2>Description</h2>
81
<a name="id2650140"></a><h2>Description</h2>
102
86
<div class="refsect1" lang="en">
103
<a name="id2628067"></a><h2>Details</h2>
87
<a name="id2650156"></a><h2>Details</h2>
104
88
<div class="refsect2" lang="en">
105
<a name="id2628078"></a><h3>
89
<a name="id2650167"></a><h3>
106
90
<a name="EXmlHashType"></a>enum EXmlHashType</h3>
107
<a class="indexterm" name="id2628090"></a><pre class="programlisting">typedef enum {
91
<a class="indexterm" name="id2650179"></a><pre class="programlisting">typedef enum {
108
92
E_XML_HASH_TYPE_OBJECT_UID,
109
93
E_XML_HASH_TYPE_PROPERTY
134
118
<div class="refsect2" lang="en">
135
<a name="id2624597"></a><h3>
119
<a name="id2650245"></a><h3>
136
120
<a name="e-xml-to-hash"></a>e_xml_to_hash ()</h3>
137
<a class="indexterm" name="id2624609"></a><pre class="programlisting"><a
138
href="/opt/gnome/share/gtk-doc/html/glib/glib-Hash-Tables.html#GHashTable"
139
>GHashTable</a>* e_xml_to_hash (xmlDoc *doc,
140
<a href="libedataserver-e-xml-hash-utils.html#EXmlHashType">EXmlHashType</a> type);</pre>
121
<a class="indexterm" name="id2650258"></a><pre class="programlisting">GHashTable* e_xml_to_hash (xmlDoc *doc,
122
<a class="link" href="libedataserver-e-xml-hash-utils.html#EXmlHashType">EXmlHashType</a> type);</pre>
143
href="/opt/gnome/share/gtk-doc/html/glib/glib-Hash-Tables.html#GHashTable"
144
><span class="type">GHashTable</span></a> representation of the <span class="type">xmlDoc</span> <em class="parameter"><code>doc</code></em>.
124
Creates a <span class="type">GHashTable</span> representation of the <span class="type">xmlDoc</span> <em class="parameter"><code>doc</code></em>.
145
125
If <em class="parameter"><code>type</code></em> is * <em class="parameter"><code>E_XML_HASH_TYPE_PROPERTY</code></em>, all XML nodes will be
147
href="/opt/gnome/share/gtk-doc/html/glib/glib-Hash-Tables.html#GHashTable"
148
><span class="type">GHashTable</span></a> by name. If <em class="parameter"><code>type</code></em> is
149
<a href="libedataserver-e-xml-hash-utils.html#E-XML-HASH-TYPE-OBJECT-UID:CAPS"><code class="literal">E_XML_HASH_TYPE_OBJECT_UID</code></a>, then XML objects will be indexed in
126
indexed in the <span class="type">GHashTable</span> by name. If <em class="parameter"><code>type</code></em> is
127
<a class="link" href="libedataserver-e-xml-hash-utils.html#E-XML-HASH-TYPE-OBJECT-UID:CAPS"><code class="literal">E_XML_HASH_TYPE_OBJECT_UID</code></a>, then XML objects will be indexed in
150
128
the hash by their UID (other nodes will still be indexed by name).</p>
178
154
<div class="refsect2" lang="en">
179
<a name="id2624766"></a><h3>
155
<a name="id2650415"></a><h3>
180
156
<a name="e-xml-from-hash"></a>e_xml_from_hash ()</h3>
181
<a class="indexterm" name="id2624779"></a><pre class="programlisting">xmlDoc* e_xml_from_hash (<a
182
href="/opt/gnome/share/gtk-doc/html/glib/glib-Hash-Tables.html#GHashTable"
183
>GHashTable</a> *hash,
184
<a href="libedataserver-e-xml-hash-utils.html#EXmlHashType">EXmlHashType</a> type,
157
<a class="indexterm" name="id2650428"></a><pre class="programlisting">xmlDoc* e_xml_from_hash (GHashTable *hash,
158
<a class="link" href="libedataserver-e-xml-hash-utils.html#EXmlHashType">EXmlHashType</a> type,
185
159
const char *root_node);</pre>
187
161
Uses the key/value pair representation of an XML structure in <em class="parameter"><code>hash</code></em>
188
162
to build an equivalent <span class="type">xmlDoc</span>. This is the reverse of
189
<a href="libedataserver-e-xml-hash-utils.html#e-xml-to-hash"><code class="function">e_xml_to_hash()</code></a>.</p>
163
<a class="link" href="libedataserver-e-xml-hash-utils.html#e-xml-to-hash"><code class="function">e_xml_to_hash()</code></a>.</p>
194
168
<col align="left" valign="top">
197
<td><span class="term"><em class="parameter"><code>hash</code></em> :</span></td>
199
href="/opt/gnome/share/gtk-doc/html/glib/glib-Hash-Tables.html#GHashTable"
200
><span class="type">GHashTable</span></a> to extract the XML from.
204
<td><span class="term"><em class="parameter"><code>type</code></em> :</span></td>
205
<td> The <a href="libedataserver-e-xml-hash-utils.html#EXmlHashType"><span class="type">EXmlHashType</span></a> used to store the XML.
209
<td><span class="term"><em class="parameter"><code>root_node</code></em> :</span></td>
171
<td><p><span class="term"><em class="parameter"><code>hash</code></em> :</span></p></td>
172
<td> The <span class="type">GHashTable</span> to extract the XML from.
176
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
177
<td> The <a class="link" href="libedataserver-e-xml-hash-utils.html#EXmlHashType"><span class="type">EXmlHashType</span></a> used to store the XML.
181
<td><p><span class="term"><em class="parameter"><code>root_node</code></em> :</span></p></td>
214
<td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
186
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
215
187
<td> The <span class="type">xmlDoc</span> created from the data in <em class="parameter"><code>hash</code></em>.
233
203
<div class="variablelist"><table border="0">
234
204
<col align="left" valign="top">
236
<td><span class="term"><em class="parameter"><code>hash</code></em> :</span></td>
238
href="/opt/gnome/share/gtk-doc/html/glib/glib-Hash-Tables.html#GHashTable"
239
><span class="type">GHashTable</span></a> to destroy.
206
<td><p><span class="term"><em class="parameter"><code>hash</code></em> :</span></p></td>
207
<td> The <span class="type">GHashTable</span> to destroy.
245
213
<div class="refsect2" lang="en">
246
<a name="id2629254"></a><h3>
214
<a name="id2655591"></a><h3>
247
215
<a name="EXmlHashStatus"></a>enum EXmlHashStatus</h3>
248
<a class="indexterm" name="id2629265"></a><pre class="programlisting">typedef enum {
216
<a class="indexterm" name="id2655602"></a><pre class="programlisting">typedef enum {
249
217
E_XMLHASH_STATUS_SAME,
250
218
E_XMLHASH_STATUS_DIFFERENT,
251
219
E_XMLHASH_STATUS_NOT_FOUND
473
433
<col align="left" valign="top">
476
<td><span class="term"><em class="parameter"><code>hash</code></em> :</span></td>
477
<td> The <a href="libedataserver-e-xml-hash-utils.html#EXmlHash"><span class="type">EXmlHash</span></a> to compare against.
436
<td><p><span class="term"><em class="parameter"><code>hash</code></em> :</span></p></td>
437
<td> The <a class="link" href="libedataserver-e-xml-hash-utils.html#EXmlHash"><span class="type">EXmlHash</span></a> to compare against.
481
<td><span class="term"><em class="parameter"><code>key</code></em> :</span></td>
441
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
482
442
<td> The key of the hash entry to compare with.
486
<td><span class="term"><em class="parameter"><code>compare_data</code></em> :</span></td>
446
<td><p><span class="term"><em class="parameter"><code>compare_data</code></em> :</span></p></td>
487
447
<td> The data to compare against the hash entry.
491
<td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
451
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
492
452
<td> E_XMLHASH_STATUS_SAME if the value and <em class="parameter"><code>compare_data</code></em> are
493
453
equal,E_XMLHASH_STATUS_DIFFERENT if they are different, or
494
454
E_XMLHASH_STATUS_NOT_FOUND if there is no entry in <em class="parameter"><code>hash</code></em> with
502
462
<div class="refsect2" lang="en">
503
<a name="id2630100"></a><h3>
463
<a name="id2656434"></a><h3>
504
464
<a name="e-xmlhash-foreach-key"></a>e_xmlhash_foreach_key ()</h3>
505
<a class="indexterm" name="id2630111"></a><pre class="programlisting">void e_xmlhash_foreach_key (<a href="libedataserver-e-xml-hash-utils.html#EXmlHash">EXmlHash</a> *hash,
506
<a href="libedataserver-e-xml-hash-utils.html#EXmlHashFunc">EXmlHashFunc</a> func,
508
href="/opt/gnome/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"
509
>gpointer</a> user_data);</pre>
465
<a class="indexterm" name="id2656445"></a><pre class="programlisting">void e_xmlhash_foreach_key (<a class="link" href="libedataserver-e-xml-hash-utils.html#EXmlHash">EXmlHash</a> *hash,
466
<a class="link" href="libedataserver-e-xml-hash-utils.html#EXmlHashFunc">EXmlHashFunc</a> func,
467
gpointer user_data);</pre>
511
469
Executes <em class="parameter"><code>func</code></em> against each key/value pair in <em class="parameter"><code>hash</code></em>.</p>
572
528
<div class="refsect2" lang="en">
573
<a name="id2630344"></a><h3>
529
<a name="id2656640"></a><h3>
574
530
<a name="e-xmlhash-write"></a>e_xmlhash_write ()</h3>
575
<a class="indexterm" name="id2630356"></a><pre class="programlisting">void e_xmlhash_write (<a href="libedataserver-e-xml-hash-utils.html#EXmlHash">EXmlHash</a> *hash);</pre>
531
<a class="indexterm" name="id2656651"></a><pre class="programlisting">void e_xmlhash_write (<a class="link" href="libedataserver-e-xml-hash-utils.html#EXmlHash">EXmlHash</a> *hash);</pre>
577
533
Writes the XML represented by <em class="parameter"><code>hash</code></em> to the file originally passed
578
to <a href="libedataserver-e-xml-hash-utils.html#e-xmlhash-new"><code class="function">e_xmlhash_new()</code></a>.</p>
534
to <a class="link" href="libedataserver-e-xml-hash-utils.html#e-xmlhash-new"><code class="function">e_xmlhash_new()</code></a>.</p>
582
538
<div class="variablelist"><table border="0">
583
539
<col align="left" valign="top">
585
<td><span class="term"><em class="parameter"><code>hash</code></em> :</span></td>
586
<td> The <a href="libedataserver-e-xml-hash-utils.html#EXmlHash"><span class="type">EXmlHash</span></a> to write.
541
<td><p><span class="term"><em class="parameter"><code>hash</code></em> :</span></p></td>
542
<td> The <a class="link" href="libedataserver-e-xml-hash-utils.html#EXmlHash"><span class="type">EXmlHash</span></a> to write.
592
548
<div class="refsect2" lang="en">
593
<a name="id2630430"></a><h3>
549
<a name="id2656716"></a><h3>
594
550
<a name="e-xmlhash-destroy"></a>e_xmlhash_destroy ()</h3>
595
<a class="indexterm" name="id2630442"></a><pre class="programlisting">void e_xmlhash_destroy (<a href="libedataserver-e-xml-hash-utils.html#EXmlHash">EXmlHash</a> *hash);</pre>
551
<a class="indexterm" name="id2656726"></a><pre class="programlisting">void e_xmlhash_destroy (<a class="link" href="libedataserver-e-xml-hash-utils.html#EXmlHash">EXmlHash</a> *hash);</pre>
597
553
Frees the memory associated with <em class="parameter"><code>hash</code></em>.</p>