1
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
5
<title>gimpconfigwriter</title>
6
<meta name="generator" content="DocBook XSL Stylesheets V1.72.0">
7
<link rel="start" href="index.html" title="GIMP Config Library Reference Manual">
8
<link rel="up" href="libgimpconfig.html" title="Part I. GIMP Config Library">
9
<link rel="prev" href="libgimpconfig-gimpconfig-utils.html" title="gimpconfig-utils">
10
<link rel="next" href="libgimpconfig-GimpScanner.html" title="gimpscanner">
11
<meta name="generator" content="GTK-Doc V1.8 (XML mode)">
12
<link rel="stylesheet" href="style.css" type="text/css">
13
<link rel="part" href="libgimpconfig.html" title="Part I. GIMP Config Library">
14
<link rel="chapter" href="libgimpconfig-hierarchy.html" title="Object Hierarchy">
15
<link rel="index" href="libgimpconfig-index.html" title="Index">
16
<link rel="index" href="libgimpconfig-index-new-in-2-4.html" title="Index of new symbols in GIMP 2.4">
17
<link rel="index" href="libgimpconfig-index-deprecated.html" title="Index of deprecated symbols">
19
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
20
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
22
<td><a accesskey="p" href="libgimpconfig-gimpconfig-utils.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
23
<td><a accesskey="u" href="libgimpconfig.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
24
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
25
<th width="100%" align="center">GIMP Config Library Reference Manual</th>
26
<td><a accesskey="n" href="libgimpconfig-GimpScanner.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
28
<tr><td colspan="5" class="shortcuts"><nobr><a href="#id2561456" class="shortcut">Top</a>
30
<a href="#id2569669" class="shortcut">Description</a></nobr></td></tr>
32
<div class="refentry" lang="en">
33
<a name="libgimpconfig-GimpConfigWriter"></a><div class="titlepage"></div>
34
<div class="refnamediv"><table width="100%"><tr>
37
<a name="id2561456"></a><span class="refentrytitle">gimpconfigwriter</span>
39
<p>gimpconfigwriter — Functions for writing config info to a file for libgimpconfig.</p>
41
<td valign="top" align="right"></td>
43
<div class="refsynopsisdiv">
45
<pre class="synopsis">
49
<a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter">GimpConfigWriter</a>;
50
<a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter">GimpConfigWriter</a>* <a href="libgimpconfig-GimpConfigWriter.html#gimp-config-writer-new-file">gimp_config_writer_new_file</a> (const gchar *filename,
54
<a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter">GimpConfigWriter</a>* <a href="libgimpconfig-GimpConfigWriter.html#gimp-config-writer-new-fd">gimp_config_writer_new_fd</a> (gint fd);
55
<a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter">GimpConfigWriter</a>* <a href="libgimpconfig-GimpConfigWriter.html#gimp-config-writer-new-string">gimp_config_writer_new_string</a> (GString *string);
56
void <a href="libgimpconfig-GimpConfigWriter.html#gimp-config-writer-open">gimp_config_writer_open</a> (<a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter">GimpConfigWriter</a> *writer,
58
void <a href="libgimpconfig-GimpConfigWriter.html#gimp-config-writer-comment-mode">gimp_config_writer_comment_mode</a> (<a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter">GimpConfigWriter</a> *writer,
60
void <a href="libgimpconfig-GimpConfigWriter.html#gimp-config-writer-print">gimp_config_writer_print</a> (<a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter">GimpConfigWriter</a> *writer,
63
void <a href="libgimpconfig-GimpConfigWriter.html#gimp-config-writer-printf">gimp_config_writer_printf</a> (<a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter">GimpConfigWriter</a> *writer,
66
void <a href="libgimpconfig-GimpConfigWriter.html#gimp-config-writer-identifier">gimp_config_writer_identifier</a> (<a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter">GimpConfigWriter</a> *writer,
67
const gchar *identifier);
68
void <a href="libgimpconfig-GimpConfigWriter.html#gimp-config-writer-string">gimp_config_writer_string</a> (<a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter">GimpConfigWriter</a> *writer,
70
void <a href="libgimpconfig-GimpConfigWriter.html#gimp-config-writer-data">gimp_config_writer_data</a> (<a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter">GimpConfigWriter</a> *writer,
73
void <a href="libgimpconfig-GimpConfigWriter.html#gimp-config-writer-comment">gimp_config_writer_comment</a> (<a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter">GimpConfigWriter</a> *writer,
74
const gchar *comment);
75
void <a href="libgimpconfig-GimpConfigWriter.html#gimp-config-writer-linefeed">gimp_config_writer_linefeed</a> (<a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter">GimpConfigWriter</a> *writer);
76
void <a href="libgimpconfig-GimpConfigWriter.html#gimp-config-writer-revert">gimp_config_writer_revert</a> (<a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter">GimpConfigWriter</a> *writer);
77
void <a href="libgimpconfig-GimpConfigWriter.html#gimp-config-writer-close">gimp_config_writer_close</a> (<a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter">GimpConfigWriter</a> *writer);
78
gboolean <a href="libgimpconfig-GimpConfigWriter.html#gimp-config-writer-finish">gimp_config_writer_finish</a> (<a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter">GimpConfigWriter</a> *writer,
83
<div class="refsect1" lang="en">
84
<a name="id2569669"></a><h2>Description</h2>
86
Functions for writing config info to a file for libgimpconfig.
90
<div class="refsect1" lang="en">
91
<a name="id2569686"></a><h2>Details</h2>
92
<div class="refsect2" lang="en">
93
<a name="id2569697"></a><h3>
94
<a name="GimpConfigWriter"></a>GimpConfigWriter</h3>
95
<a class="indexterm" name="id2569709"></a><pre class="programlisting">typedef struct _GimpConfigWriter GimpConfigWriter;</pre>
101
<div class="refsect2" lang="en">
102
<a name="id2569726"></a><h3>
103
<a name="gimp-config-writer-new-file"></a>gimp_config_writer_new_file ()</h3>
104
<a class="indexterm" name="id2569739"></a><pre class="programlisting"><a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter">GimpConfigWriter</a>* gimp_config_writer_new_file (const gchar *filename,
107
GError **error);</pre>
109
Creates a new <a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter"><span class="type">GimpConfigWriter</span></a> and sets it up to write to
110
<em class="parameter"><code>filename</code></em>. If <em class="parameter"><code>atomic</code></em> is <code class="literal">TRUE</code>, a temporary file is used to avoid
111
possible race conditions. The temporary file is then moved to
112
<em class="parameter"><code>filename</code></em> when the writer is closed.</p>
116
<div class="variablelist"><table border="0">
117
<col align="left" valign="top">
120
<td><span class="term"><em class="parameter"><code>filename</code></em> :</span></td>
125
<td><span class="term"><em class="parameter"><code>atomic</code></em> :</span></td>
126
<td> if <code class="literal">TRUE</code> the file is written atomically
130
<td><span class="term"><em class="parameter"><code>header</code></em> :</span></td>
131
<td> text to include as comment at the top of the file
135
<td><span class="term"><em class="parameter"><code>error</code></em> :</span></td>
136
<td> return location for errors
140
<td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
141
<td> a new <a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter"><span class="type">GimpConfigWriter</span></a> or <code class="literal">NULL</code> in case of an error
147
<p class="since">Since GIMP 2.4
151
<div class="refsect2" lang="en">
152
<a name="id2600988"></a><h3>
153
<a name="gimp-config-writer-new-fd"></a>gimp_config_writer_new_fd ()</h3>
154
<a class="indexterm" name="id2601002"></a><pre class="programlisting"><a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter">GimpConfigWriter</a>* gimp_config_writer_new_fd (gint fd);</pre>
160
<div class="variablelist"><table border="0">
161
<col align="left" valign="top">
164
<td><span class="term"><em class="parameter"><code>fd</code></em> :</span></td>
169
<td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
170
<td> a new <a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter"><span class="type">GimpConfigWriter</span></a> or <code class="literal">NULL</code> in case of an error
176
<p class="since">Since GIMP 2.4
180
<div class="refsect2" lang="en">
181
<a name="id2601085"></a><h3>
182
<a name="gimp-config-writer-new-string"></a>gimp_config_writer_new_string ()</h3>
183
<a class="indexterm" name="id2601101"></a><pre class="programlisting"><a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter">GimpConfigWriter</a>* gimp_config_writer_new_string (GString *string);</pre>
189
<div class="variablelist"><table border="0">
190
<col align="left" valign="top">
193
<td><span class="term"><em class="parameter"><code>string</code></em> :</span></td>
198
<td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
199
<td> a new <a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter"><span class="type">GimpConfigWriter</span></a> or <code class="literal">NULL</code> in case of an error
205
<p class="since">Since GIMP 2.4
209
<div class="refsect2" lang="en">
210
<a name="id2601184"></a><h3>
211
<a name="gimp-config-writer-open"></a>gimp_config_writer_open ()</h3>
212
<a class="indexterm" name="id2601198"></a><pre class="programlisting">void gimp_config_writer_open (<a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter">GimpConfigWriter</a> *writer,
213
const gchar *name);</pre>
215
This function writes the opening parenthese followed by <em class="parameter"><code>name</code></em>.
216
It also increases the indentation level and sets a mark that
217
can be used by <a href="libgimpconfig-GimpConfigWriter.html#gimp-config-writer-revert"><code class="function">gimp_config_writer_revert()</code></a>.</p>
221
<div class="variablelist"><table border="0">
222
<col align="left" valign="top">
225
<td><span class="term"><em class="parameter"><code>writer</code></em> :</span></td>
226
<td> a <a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter"><span class="type">GimpConfigWriter</span></a>
230
<td><span class="term"><em class="parameter"><code>name</code></em> :</span></td>
231
<td> name of the element to open
236
<p class="since">Since GIMP 2.4
240
<div class="refsect2" lang="en">
241
<a name="id2607188"></a><h3>
242
<a name="gimp-config-writer-comment-mode"></a>gimp_config_writer_comment_mode ()</h3>
243
<a class="indexterm" name="id2607203"></a><pre class="programlisting">void gimp_config_writer_comment_mode (<a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter">GimpConfigWriter</a> *writer,
244
gboolean enable);</pre>
246
This function toggles whether the <em class="parameter"><code>writer</code></em> should create commented
247
or uncommented output. This feature is used to generate the
248
system-wide installed gimprc that documents the default settings.
251
Since comments have to start at the beginning of a line, this
252
funtion will insert a newline if necessary.</p>
256
<div class="variablelist"><table border="0">
257
<col align="left" valign="top">
260
<td><span class="term"><em class="parameter"><code>writer</code></em> :</span></td>
261
<td> a <a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter"><span class="type">GimpConfigWriter</span></a>
265
<td><span class="term"><em class="parameter"><code>enable</code></em> :</span></td>
266
<td> <code class="literal">TRUE</code> to enable comment mode, <code class="literal">FALSE</code> to disable it
271
<p class="since">Since GIMP 2.4
275
<div class="refsect2" lang="en">
276
<a name="id2607319"></a><h3>
277
<a name="gimp-config-writer-print"></a>gimp_config_writer_print ()</h3>
278
<a class="indexterm" name="id2607333"></a><pre class="programlisting">void gimp_config_writer_print (<a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter">GimpConfigWriter</a> *writer,
282
Appends a space followed by <em class="parameter"><code>string</code></em> to the <em class="parameter"><code>writer</code></em>. Note that string
283
must not contain any special characters that might need to be escaped.</p>
287
<div class="variablelist"><table border="0">
288
<col align="left" valign="top">
291
<td><span class="term"><em class="parameter"><code>writer</code></em> :</span></td>
292
<td> a <a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter"><span class="type">GimpConfigWriter</span></a>
296
<td><span class="term"><em class="parameter"><code>string</code></em> :</span></td>
297
<td> a string to write
301
<td><span class="term"><em class="parameter"><code>len</code></em> :</span></td>
302
<td> number of bytes from <em class="parameter"><code>string</code></em> or -1 if <em class="parameter"><code>string</code></em> is NUL-terminated.
307
<p class="since">Since GIMP 2.4
311
<div class="refsect2" lang="en">
312
<a name="id2607465"></a><h3>
313
<a name="gimp-config-writer-printf"></a>gimp_config_writer_printf ()</h3>
314
<a class="indexterm" name="id2607479"></a><pre class="programlisting">void gimp_config_writer_printf (<a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter">GimpConfigWriter</a> *writer,
318
A printf-like function for <a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter"><span class="type">GimpConfigWriter</span></a>.</p>
322
<div class="variablelist"><table border="0">
323
<col align="left" valign="top">
326
<td><span class="term"><em class="parameter"><code>writer</code></em> :</span></td>
327
<td> a <a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter"><span class="type">GimpConfigWriter</span></a>
331
<td><span class="term"><em class="parameter"><code>format</code></em> :</span></td>
332
<td> a format string as described for <code class="function">g_strdup_printf()</code>.
336
<td><span class="term"><em class="parameter"><code>...</code></em> :</span></td>
337
<td> list of arguments according to <em class="parameter"><code>format</code></em>
342
<p class="since">Since GIMP 2.4
346
<div class="refsect2" lang="en">
347
<a name="id2607604"></a><h3>
348
<a name="gimp-config-writer-identifier"></a>gimp_config_writer_identifier ()</h3>
349
<a class="indexterm" name="id2607620"></a><pre class="programlisting">void gimp_config_writer_identifier (<a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter">GimpConfigWriter</a> *writer,
350
const gchar *identifier);</pre>
352
Writes an identifier to <em class="parameter"><code>writer</code></em>. The <em class="parameter"><code>string</code></em> is *not* quoted and special
353
characters are *not* escaped.</p>
357
<div class="variablelist"><table border="0">
358
<col align="left" valign="top">
361
<td><span class="term"><em class="parameter"><code>writer</code></em> :</span></td>
362
<td> a <a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter"><span class="type">GimpConfigWriter</span></a>
366
<td><span class="term"><em class="parameter"><code>identifier</code></em> :</span></td>
367
<td> a NUL-terminated string
372
<p class="since">Since GIMP 2.4
376
<div class="refsect2" lang="en">
377
<a name="id2607718"></a><h3>
378
<a name="gimp-config-writer-string"></a>gimp_config_writer_string ()</h3>
379
<a class="indexterm" name="id2607732"></a><pre class="programlisting">void gimp_config_writer_string (<a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter">GimpConfigWriter</a> *writer,
380
const gchar *string);</pre>
382
Writes a string value to <em class="parameter"><code>writer</code></em>. The <em class="parameter"><code>string</code></em> is quoted and special
383
characters are escaped.</p>
387
<div class="variablelist"><table border="0">
388
<col align="left" valign="top">
391
<td><span class="term"><em class="parameter"><code>writer</code></em> :</span></td>
392
<td> a <a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter"><span class="type">GimpConfigWriter</span></a>
396
<td><span class="term"><em class="parameter"><code>string</code></em> :</span></td>
397
<td> a NUL-terminated string
402
<p class="since">Since GIMP 2.4
406
<div class="refsect2" lang="en">
407
<a name="id2607830"></a><h3>
408
<a name="gimp-config-writer-data"></a>gimp_config_writer_data ()</h3>
409
<a class="indexterm" name="id2607844"></a><pre class="programlisting">void gimp_config_writer_data (<a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter">GimpConfigWriter</a> *writer,
411
const guint8 *data);</pre>
417
<div class="variablelist"><table border="0">
418
<col align="left" valign="top">
421
<td><span class="term"><em class="parameter"><code>writer</code></em> :</span></td>
422
<td> a <a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter"><span class="type">GimpConfigWriter</span></a>
426
<td><span class="term"><em class="parameter"><code>length</code></em> :</span></td>
431
<td><span class="term"><em class="parameter"><code>data</code></em> :</span></td>
437
<p class="since">Since GIMP 2.4
441
<div class="refsect2" lang="en">
442
<a name="id2607950"></a><h3>
443
<a name="gimp-config-writer-comment"></a>gimp_config_writer_comment ()</h3>
444
<a class="indexterm" name="id2607965"></a><pre class="programlisting">void gimp_config_writer_comment (<a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter">GimpConfigWriter</a> *writer,
445
const gchar *comment);</pre>
447
Appends the <em class="parameter"><code>comment</code></em> to <em class="parameter"><code>str</code></em> and inserts linebreaks and hash-marks to
448
format it as a comment. Note that this function does not handle non-ASCII
453
<div class="variablelist"><table border="0">
454
<col align="left" valign="top">
457
<td><span class="term"><em class="parameter"><code>writer</code></em> :</span></td>
458
<td> a <a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter"><span class="type">GimpConfigWriter</span></a>
462
<td><span class="term"><em class="parameter"><code>comment</code></em> :</span></td>
463
<td> the comment to write (ASCII only)
468
<p class="since">Since GIMP 2.4
472
<div class="refsect2" lang="en">
473
<a name="id2608038"></a><h3>
474
<a name="gimp-config-writer-linefeed"></a>gimp_config_writer_linefeed ()</h3>
475
<a class="indexterm" name="id2608050"></a><pre class="programlisting">void gimp_config_writer_linefeed (<a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter">GimpConfigWriter</a> *writer);</pre>
479
<div class="variablelist"><table border="0">
480
<col align="left" valign="top">
482
<td><span class="term"><em class="parameter"><code>writer</code></em> :</span></td>
491
<div class="refsect2" lang="en">
492
<a name="id2608090"></a><h3>
493
<a name="gimp-config-writer-revert"></a>gimp_config_writer_revert ()</h3>
494
<a class="indexterm" name="id2608103"></a><pre class="programlisting">void gimp_config_writer_revert (<a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter">GimpConfigWriter</a> *writer);</pre>
496
Reverts all changes to <em class="parameter"><code>writer</code></em> that were done since the last call
497
to <a href="libgimpconfig-GimpConfigWriter.html#gimp-config-writer-open"><code class="function">gimp_config_writer_open()</code></a>. This can only work if you didn't call
498
<a href="libgimpconfig-GimpConfigWriter.html#gimp-config-writer-close"><code class="function">gimp_config_writer_close()</code></a> yet.</p>
502
<div class="variablelist"><table border="0">
503
<col align="left" valign="top">
505
<td><span class="term"><em class="parameter"><code>writer</code></em> :</span></td>
506
<td> a <a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter"><span class="type">GimpConfigWriter</span></a>
510
<p class="since">Since GIMP 2.4
514
<div class="refsect2" lang="en">
515
<a name="id2608183"></a><h3>
516
<a name="gimp-config-writer-close"></a>gimp_config_writer_close ()</h3>
517
<a class="indexterm" name="id2608196"></a><pre class="programlisting">void gimp_config_writer_close (<a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter">GimpConfigWriter</a> *writer);</pre>
519
Closes an element opened with <a href="libgimpconfig-GimpConfigWriter.html#gimp-config-writer-open"><code class="function">gimp_config_writer_open()</code></a>.</p>
523
<div class="variablelist"><table border="0">
524
<col align="left" valign="top">
526
<td><span class="term"><em class="parameter"><code>writer</code></em> :</span></td>
527
<td> a <a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter"><span class="type">GimpConfigWriter</span></a>
531
<p class="since">Since GIMP 2.4
535
<div class="refsect2" lang="en">
536
<a name="id2608261"></a><h3>
537
<a name="gimp-config-writer-finish"></a>gimp_config_writer_finish ()</h3>
538
<a class="indexterm" name="id2608274"></a><pre class="programlisting">gboolean gimp_config_writer_finish (<a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter">GimpConfigWriter</a> *writer,
540
GError **error);</pre>
542
This function finishes the work of <em class="parameter"><code>writer</code></em> and frees it afterwards.
543
It closes all open elements, appends an optional comment and
544
releases all resources allocated by <em class="parameter"><code>writer</code></em>. You must not access
545
the <em class="parameter"><code>writer</code></em> afterwards.</p>
549
<div class="variablelist"><table border="0">
550
<col align="left" valign="top">
553
<td><span class="term"><em class="parameter"><code>writer</code></em> :</span></td>
554
<td> a <a href="libgimpconfig-GimpConfigWriter.html#GimpConfigWriter"><span class="type">GimpConfigWriter</span></a>
558
<td><span class="term"><em class="parameter"><code>footer</code></em> :</span></td>
559
<td> text to include as comment at the bottom of the file
563
<td><span class="term"><em class="parameter"><code>error</code></em> :</span></td>
564
<td> return location for possible errors
568
<td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
569
<td> <code class="literal">TRUE</code> if everything could be successfully written,
570
<code class="literal">FALSE</code> otherwise
576
<p class="since">Since GIMP 2.4