GimpConfigWriter

GimpConfigWriter — Functions for writing config info to a file for libgimpconfig.

Synopsis

                    GimpConfigWriter;
GimpConfigWriter *  gimp_config_writer_new_file         (const gchar *filename,
                                                         gboolean atomic,
                                                         const gchar *header,
                                                         GError **error);
GimpConfigWriter *  gimp_config_writer_new_fd           (gint fd);
GimpConfigWriter *  gimp_config_writer_new_string       (GString *string);
void                gimp_config_writer_open             (GimpConfigWriter *writer,
                                                         const gchar *name);
void                gimp_config_writer_comment_mode     (GimpConfigWriter *writer,
                                                         gboolean enable);
void                gimp_config_writer_print            (GimpConfigWriter *writer,
                                                         const gchar *string,
                                                         gint len);
void                gimp_config_writer_printf           (GimpConfigWriter *writer,
                                                         const gchar *format,
                                                         ...);
void                gimp_config_writer_identifier       (GimpConfigWriter *writer,
                                                         const gchar *identifier);
void                gimp_config_writer_string           (GimpConfigWriter *writer,
                                                         const gchar *string);
void                gimp_config_writer_data             (GimpConfigWriter *writer,
                                                         gint length,
                                                         const guint8 *data);
void                gimp_config_writer_comment          (GimpConfigWriter *writer,
                                                         const gchar *comment);
void                gimp_config_writer_linefeed         (GimpConfigWriter *writer);
void                gimp_config_writer_revert           (GimpConfigWriter *writer);
void                gimp_config_writer_close            (GimpConfigWriter *writer);
gboolean            gimp_config_writer_finish           (GimpConfigWriter *writer,
                                                         const gchar *footer,
                                                         GError **error);

Description

Functions for writing config info to a file for libgimpconfig.

Details

GimpConfigWriter

typedef struct _GimpConfigWriter GimpConfigWriter;


gimp_config_writer_new_file ()

GimpConfigWriter *  gimp_config_writer_new_file         (const gchar *filename,
                                                         gboolean atomic,
                                                         const gchar *header,
                                                         GError **error);

Creates a new GimpConfigWriter and sets it up to write to filename. If atomic is TRUE, a temporary file is used to avoid possible race conditions. The temporary file is then moved to filename when the writer is closed.

filename :

a filename

atomic :

if TRUE the file is written atomically

header :

text to include as comment at the top of the file

error :

return location for errors

Returns :

a new GimpConfigWriter or NULL in case of an error

Since GIMP 2.4


gimp_config_writer_new_fd ()

GimpConfigWriter *  gimp_config_writer_new_fd           (gint fd);

Returns :

a new GimpConfigWriter or NULL in case of an error

Since GIMP 2.4


gimp_config_writer_new_string ()

GimpConfigWriter *  gimp_config_writer_new_string       (GString *string);

Returns :

a new GimpConfigWriter or NULL in case of an error

Since GIMP 2.4


gimp_config_writer_open ()

void                gimp_config_writer_open             (GimpConfigWriter *writer,
                                                         const gchar *name);

This function writes the opening parenthese followed by name. It also increases the indentation level and sets a mark that can be used by gimp_config_writer_revert().

writer :

a GimpConfigWriter

name :

name of the element to open

Since GIMP 2.4


gimp_config_writer_comment_mode ()

void                gimp_config_writer_comment_mode     (GimpConfigWriter *writer,
                                                         gboolean enable);

This function toggles whether the writer should create commented or uncommented output. This feature is used to generate the system-wide installed gimprc that documents the default settings.

Since comments have to start at the beginning of a line, this funtion will insert a newline if necessary.

writer :

a GimpConfigWriter

enable :

TRUE to enable comment mode, FALSE to disable it

Since GIMP 2.4


gimp_config_writer_print ()

void                gimp_config_writer_print            (GimpConfigWriter *writer,
                                                         const gchar *string,
                                                         gint len);

Appends a space followed by string to the writer. Note that string must not contain any special characters that might need to be escaped.

writer :

a GimpConfigWriter

string :

a string to write

len :

number of bytes from string or -1 if string is NUL-terminated.

Since GIMP 2.4


gimp_config_writer_printf ()

void                gimp_config_writer_printf           (GimpConfigWriter *writer,
                                                         const gchar *format,
                                                         ...);

A printf-like function for GimpConfigWriter.

writer :

a GimpConfigWriter

format :

a format string as described for g_strdup_printf().

... :

list of arguments according to format

Since GIMP 2.4


gimp_config_writer_identifier ()

void                gimp_config_writer_identifier       (GimpConfigWriter *writer,
                                                         const gchar *identifier);

Writes an identifier to writer. The string is *not* quoted and special characters are *not* escaped.

writer :

a GimpConfigWriter

identifier :

a NUL-terminated string

Since GIMP 2.4


gimp_config_writer_string ()

void                gimp_config_writer_string           (GimpConfigWriter *writer,
                                                         const gchar *string);

Writes a string value to writer. The string is quoted and special characters are escaped.

writer :

a GimpConfigWriter

string :

a NUL-terminated string

Since GIMP 2.4


gimp_config_writer_data ()

void                gimp_config_writer_data             (GimpConfigWriter *writer,
                                                         gint length,
                                                         const guint8 *data);

writer :

a GimpConfigWriter

Since GIMP 2.4


gimp_config_writer_comment ()

void                gimp_config_writer_comment          (GimpConfigWriter *writer,
                                                         const gchar *comment);

Appends the comment to str and inserts linebreaks and hash-marks to format it as a comment. Note that this function does not handle non-ASCII characters.

writer :

a GimpConfigWriter

comment :

the comment to write (ASCII only)

Since GIMP 2.4


gimp_config_writer_linefeed ()

void                gimp_config_writer_linefeed         (GimpConfigWriter *writer);


gimp_config_writer_revert ()

void                gimp_config_writer_revert           (GimpConfigWriter *writer);

Reverts all changes to writer that were done since the last call to gimp_config_writer_open(). This can only work if you didn't call gimp_config_writer_close() yet.

writer :

a GimpConfigWriter

Since GIMP 2.4


gimp_config_writer_close ()

void                gimp_config_writer_close            (GimpConfigWriter *writer);

Closes an element opened with gimp_config_writer_open().

writer :

a GimpConfigWriter

Since GIMP 2.4


gimp_config_writer_finish ()

gboolean            gimp_config_writer_finish           (GimpConfigWriter *writer,
                                                         const gchar *footer,
                                                         GError **error);

This function finishes the work of writer and frees it afterwards. It closes all open elements, appends an optional comment and releases all resources allocated by writer. You must not access the writer afterwards.

writer :

a GimpConfigWriter

footer :

text to include as comment at the bottom of the file

error :

return location for possible errors

Returns :

TRUE if everything could be successfully written, FALSE otherwise

Since GIMP 2.4