~ubuntu-branches/ubuntu/lucid/desktop-file-utils/lucid

« back to all changes in this revision

Viewing changes to src/desktop_file.h

  • Committer: Bazaar Package Importer
  • Author(s): Baptiste Mille-Mathias
  • Date: 2007-06-11 08:58:58 UTC
  • mfrom: (1.1.3 upstream)
  • Revision ID: james.westby@ubuntu.com-20070611085858-o940g2g5h9telh2c
Tags: 0.13-0ubuntu1
New upstream release

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#include <glib.h>
2
 
 
3
 
#ifndef DESKTOP_FILE_H
4
 
#define DESKTOP_FILE_H
5
 
 
6
 
typedef struct _GnomeDesktopFile GnomeDesktopFile;
7
 
typedef enum _GnomeDesktopFileEncoding GnomeDesktopFileEncoding;
8
 
 
9
 
typedef void (* GnomeDesktopFileSectionFunc) (GnomeDesktopFile *df,
10
 
                                              const char       *name,
11
 
                                              gpointer          data);
12
 
typedef void (* GnomeDesktopFileLineFunc) (GnomeDesktopFile *df,
13
 
                                           const char       *key, /* If NULL, value is comment line */
14
 
                                           const char       *locale,
15
 
                                           const char       *value, /* This is raw unescaped data */
16
 
                                           gpointer          data);
17
 
 
18
 
enum _GnomeDesktopFileEncoding {
19
 
  GNOME_DESKTOP_FILE_ENCODING_UTF8,
20
 
  GNOME_DESKTOP_FILE_ENCODING_LEGACY,
21
 
  GNOME_DESKTOP_FILE_ENCODING_UNKNOWN
22
 
};
23
 
 
24
 
typedef enum 
25
 
{
26
 
  GNOME_DESKTOP_PARSE_ERROR_INVALID_SYNTAX,
27
 
  GNOME_DESKTOP_PARSE_ERROR_INVALID_ESCAPES,
28
 
  GNOME_DESKTOP_PARSE_ERROR_INVALID_CHARS
29
 
} GnomeDesktopParseError;
30
 
 
31
 
#define GNOME_DESKTOP_PARSE_ERROR gnome_desktop_parse_error_quark()
32
 
GQuark gnome_desktop_parse_error_quark (void);
33
 
 
34
 
GnomeDesktopFile *gnome_desktop_file_new             (GnomeDesktopFileEncoding    encoding);
35
 
GnomeDesktopFile *gnome_desktop_file_new_from_string (char                       *data,
36
 
                                                      GError                    **error);
37
 
GnomeDesktopFile *gnome_desktop_file_load            (const char                 *filename,
38
 
                                                      GError                    **error);
39
 
gboolean          gnome_desktop_file_save            (GnomeDesktopFile           *df,
40
 
                                                      const char                 *path,
41
 
                                                      int                         mode,
42
 
                                                      GError                    **error);
43
 
char *            gnome_desktop_file_to_string       (GnomeDesktopFile           *df);
44
 
void              gnome_desktop_file_free            (GnomeDesktopFile           *df);
45
 
void              gnome_desktop_file_launch          (GnomeDesktopFile           *df,
46
 
                                                      char                      **argv,
47
 
                                                      int                         argc,
48
 
                                                      GError                    **error);
49
 
 
50
 
 
51
 
GnomeDesktopFileEncoding gnome_desktop_file_get_encoding    (GnomeDesktopFile            *df);
52
 
void                     gnome_desktop_file_foreach_section (GnomeDesktopFile            *df,
53
 
                                                             GnomeDesktopFileSectionFunc  func,
54
 
                                                             gpointer                     user_data);
55
 
void                     gnome_desktop_file_foreach_key     (GnomeDesktopFile            *df,
56
 
                                                             const char                  *section,
57
 
                                                             gboolean                     include_localized,
58
 
                                                             GnomeDesktopFileLineFunc     func,
59
 
                                                             gpointer                     user_data);
60
 
gboolean                 gnome_desktop_file_add_section     (GnomeDesktopFile            *df,
61
 
                                                             const char                  *name);
62
 
gboolean                 gnome_desktop_file_remove_section  (GnomeDesktopFile            *df,
63
 
                                                             const char                  *name);
64
 
void                     gnome_desktop_file_rename_section  (GnomeDesktopFile            *df,
65
 
                                                             const char                  *old_name,
66
 
                                                             const char                  *new_name);
67
 
gboolean                 gnome_desktop_file_has_section     (GnomeDesktopFile            *df,
68
 
                                                             const char                  *name);
69
 
 
70
 
/* Gets the raw text of the key, unescaped */
71
 
gboolean gnome_desktop_file_get_raw           (GnomeDesktopFile  *df,
72
 
                                               const char        *section,
73
 
                                               const char        *keyname,
74
 
                                               const char        *locale,
75
 
                                               const char       **val);
76
 
gboolean gnome_desktop_file_get_boolean       (GnomeDesktopFile  *df,
77
 
                                               const char        *section,
78
 
                                               const char        *keyname,
79
 
                                               gboolean          *val);
80
 
gboolean gnome_desktop_file_get_number        (GnomeDesktopFile  *df,
81
 
                                               const char        *section,
82
 
                                               const char        *keyname,
83
 
                                               double            *val);
84
 
gboolean gnome_desktop_file_get_string        (GnomeDesktopFile  *df,
85
 
                                               const char        *section,
86
 
                                               const char        *keyname,
87
 
                                               char             **val);
88
 
gboolean gnome_desktop_file_get_locale_string (GnomeDesktopFile  *df,
89
 
                                               const char        *section,
90
 
                                               const char        *keyname,
91
 
                                               char             **val);
92
 
gboolean gnome_desktop_file_get_regexp        (GnomeDesktopFile  *df,
93
 
                                               const char        *section,
94
 
                                               const char        *keyname,
95
 
                                               char             **val);
96
 
 
97
 
gboolean gnome_desktop_file_get_booleans       (GnomeDesktopFile   *df,
98
 
                                                const char         *section,
99
 
                                                const char         *keyname,
100
 
                                                gboolean          **vals,
101
 
                                                int                *len);
102
 
gboolean gnome_desktop_file_get_numbers        (GnomeDesktopFile   *df,
103
 
                                                const char         *section,
104
 
                                                const char         *keyname,
105
 
                                                double            **vals,
106
 
                                                int                *len);
107
 
gboolean gnome_desktop_file_get_strings        (GnomeDesktopFile   *df,
108
 
                                                const char         *section,
109
 
                                                const char         *keyname,
110
 
                                                const char         *locale,
111
 
                                                char             ***vals,
112
 
                                                int                *len);
113
 
gboolean gnome_desktop_file_get_regexps        (GnomeDesktopFile   *df,
114
 
                                                const char         *section,
115
 
                                                const char         *keyname,
116
 
                                                char             ***vals,
117
 
                                                int                *len);
118
 
 
119
 
void gnome_desktop_file_set_raw                (GnomeDesktopFile  *df,
120
 
                                                const char        *section,
121
 
                                                const char        *keyname,
122
 
                                                const char        *locale,
123
 
                                                const char        *value);
124
 
gboolean gnome_desktop_file_set_string        (GnomeDesktopFile  *df,
125
 
                                               const char        *section,
126
 
                                               const char        *keyname,
127
 
                                               const char        *value);
128
 
void     gnome_desktop_file_set_strings       (GnomeDesktopFile  *df,
129
 
                                               const char        *section,
130
 
                                               const char        *keyname,
131
 
                                               const char        *locale,
132
 
                                               const char       **value);
133
 
 
134
 
void gnome_desktop_file_merge_string_into_list  (GnomeDesktopFile *df,
135
 
                                                 const char        *section,
136
 
                                                 const char        *keyname,
137
 
                                                 const char        *locale,
138
 
                                                 const char        *value);
139
 
void gnome_desktop_file_remove_string_from_list (GnomeDesktopFile *df,
140
 
                                                 const char        *section,
141
 
                                                 const char        *keyname,
142
 
                                                 const char        *locale,
143
 
                                                 const char        *value);
144
 
 
145
 
 
146
 
const char* desktop_file_get_encoding_for_locale (const char *locale);
147
 
 
148
 
void gnome_desktop_file_unset            (GnomeDesktopFile *df,
149
 
                                          const char       *section,
150
 
                                          const char       *keyname);
151
 
void gnome_desktop_file_unset_for_locale (GnomeDesktopFile *df,
152
 
                                          const char       *section,
153
 
                                          const char       *keyname,
154
 
                                          const char       *locale);
155
 
 
156
 
void gnome_desktop_file_copy_key (GnomeDesktopFile *df,
157
 
                                  const char       *section,
158
 
                                  const char       *source_key,
159
 
                                  const char       *dest_key);
160
 
 
161
 
/* ... More setters ... */
162
 
 
163
 
#endif