blob: d409eb5ff0d6016817723d0ffdb8a8cf971cf4f5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
obt/ddparse.h for the Openbox window manager
Copyright (c) 2009 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
See the COPYING file for a copy of the GNU General Public License.
*/
#include <glib.h>
typedef struct _ObtDDParseGroup ObtDDParseGroup;
typedef enum {
OBT_DDPARSE_STRING,
OBT_DDPARSE_LOCALESTRING,
OBT_DDPARSE_STRINGS,
OBT_DDPARSE_LOCALESTRINGS,
OBT_DDPARSE_BOOLEAN,
OBT_DDPARSE_NUMERIC,
OBT_DDPARSE_ENUM_APPLICATION,
OBT_DDPARSE_NUM_VALUE_TYPES
} ObtDDParseValueType;
typedef struct _ObtDDParseValue {
ObtDDParseValueType type;
union _ObtDDParseValueValue {
gchar *string;
struct _ObtDDParseValueStrings {
gchar *s;
gulong n;
} strings;
gboolean boolean;
gfloat numeric;
guint enumerable;
} value;
} ObtDDParseValue;
/* Returns a hash table where the keys are groups, and the values are
ObtDDParseGroups */
GHashTable* obt_ddparse_file(const gchar *name, GSList *paths);
/* Returns a hash table where the keys are "keys" in the .desktop file,
and the values are "values" in the .desktop file, for the group @g. */
GHashTable* obt_ddparse_group_keys(ObtDDParseGroup *g);
|