/* config.h generated by valac 0.10.4, the Vala compiler, do not modify */


#ifndef __DEFAULT_LIBDESKTOP_AGNOSTIC_CONFIG_H__
#define __DEFAULT_LIBDESKTOP_AGNOSTIC_CONFIG_H__

#include <glib.h>
#include <stdlib.h>
#include <string.h>
#include <glib-object.h>
#include <float.h>
#include <math.h>

G_BEGIN_DECLS


#define DESKTOP_AGNOSTIC_CONFIG_TYPE_BACKEND (desktop_agnostic_config_backend_get_type ())
#define DESKTOP_AGNOSTIC_CONFIG_BACKEND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DESKTOP_AGNOSTIC_CONFIG_TYPE_BACKEND, DesktopAgnosticConfigBackend))
#define DESKTOP_AGNOSTIC_CONFIG_BACKEND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DESKTOP_AGNOSTIC_CONFIG_TYPE_BACKEND, DesktopAgnosticConfigBackendClass))
#define DESKTOP_AGNOSTIC_CONFIG_IS_BACKEND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DESKTOP_AGNOSTIC_CONFIG_TYPE_BACKEND))
#define DESKTOP_AGNOSTIC_CONFIG_IS_BACKEND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DESKTOP_AGNOSTIC_CONFIG_TYPE_BACKEND))
#define DESKTOP_AGNOSTIC_CONFIG_BACKEND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DESKTOP_AGNOSTIC_CONFIG_TYPE_BACKEND, DesktopAgnosticConfigBackendClass))

typedef struct _DesktopAgnosticConfigBackend DesktopAgnosticConfigBackend;
typedef struct _DesktopAgnosticConfigBackendClass DesktopAgnosticConfigBackendClass;
typedef struct _DesktopAgnosticConfigBackendPrivate DesktopAgnosticConfigBackendPrivate;

#define DESKTOP_AGNOSTIC_CONFIG_TYPE_SCHEMA (desktop_agnostic_config_schema_get_type ())
#define DESKTOP_AGNOSTIC_CONFIG_SCHEMA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DESKTOP_AGNOSTIC_CONFIG_TYPE_SCHEMA, DesktopAgnosticConfigSchema))
#define DESKTOP_AGNOSTIC_CONFIG_SCHEMA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DESKTOP_AGNOSTIC_CONFIG_TYPE_SCHEMA, DesktopAgnosticConfigSchemaClass))
#define DESKTOP_AGNOSTIC_CONFIG_IS_SCHEMA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DESKTOP_AGNOSTIC_CONFIG_TYPE_SCHEMA))
#define DESKTOP_AGNOSTIC_CONFIG_IS_SCHEMA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DESKTOP_AGNOSTIC_CONFIG_TYPE_SCHEMA))
#define DESKTOP_AGNOSTIC_CONFIG_SCHEMA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DESKTOP_AGNOSTIC_CONFIG_TYPE_SCHEMA, DesktopAgnosticConfigSchemaClass))

typedef struct _DesktopAgnosticConfigSchema DesktopAgnosticConfigSchema;
typedef struct _DesktopAgnosticConfigSchemaClass DesktopAgnosticConfigSchemaClass;

#define DESKTOP_AGNOSTIC_CONFIG_TYPE_BRIDGE (desktop_agnostic_config_bridge_get_type ())
#define DESKTOP_AGNOSTIC_CONFIG_BRIDGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DESKTOP_AGNOSTIC_CONFIG_TYPE_BRIDGE, DesktopAgnosticConfigBridge))
#define DESKTOP_AGNOSTIC_CONFIG_BRIDGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DESKTOP_AGNOSTIC_CONFIG_TYPE_BRIDGE, DesktopAgnosticConfigBridgeClass))
#define DESKTOP_AGNOSTIC_CONFIG_IS_BRIDGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DESKTOP_AGNOSTIC_CONFIG_TYPE_BRIDGE))
#define DESKTOP_AGNOSTIC_CONFIG_IS_BRIDGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DESKTOP_AGNOSTIC_CONFIG_TYPE_BRIDGE))
#define DESKTOP_AGNOSTIC_CONFIG_BRIDGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DESKTOP_AGNOSTIC_CONFIG_TYPE_BRIDGE, DesktopAgnosticConfigBridgeClass))

typedef struct _DesktopAgnosticConfigBridge DesktopAgnosticConfigBridge;
typedef struct _DesktopAgnosticConfigBridgeClass DesktopAgnosticConfigBridgeClass;
typedef struct _DesktopAgnosticConfigBridgePrivate DesktopAgnosticConfigBridgePrivate;

#define DESKTOP_AGNOSTIC_CONFIG_TYPE_BIND_METHOD (desktop_agnostic_config_bind_method_get_type ())

#define DESKTOP_AGNOSTIC_CONFIG_TYPE_CLIENT (desktop_agnostic_config_client_get_type ())
#define DESKTOP_AGNOSTIC_CONFIG_CLIENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DESKTOP_AGNOSTIC_CONFIG_TYPE_CLIENT, DesktopAgnosticConfigClient))
#define DESKTOP_AGNOSTIC_CONFIG_CLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DESKTOP_AGNOSTIC_CONFIG_TYPE_CLIENT, DesktopAgnosticConfigClientClass))
#define DESKTOP_AGNOSTIC_CONFIG_IS_CLIENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DESKTOP_AGNOSTIC_CONFIG_TYPE_CLIENT))
#define DESKTOP_AGNOSTIC_CONFIG_IS_CLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DESKTOP_AGNOSTIC_CONFIG_TYPE_CLIENT))
#define DESKTOP_AGNOSTIC_CONFIG_CLIENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DESKTOP_AGNOSTIC_CONFIG_TYPE_CLIENT, DesktopAgnosticConfigClientClass))

typedef struct _DesktopAgnosticConfigClient DesktopAgnosticConfigClient;
typedef struct _DesktopAgnosticConfigClientClass DesktopAgnosticConfigClientClass;
typedef struct _DesktopAgnosticConfigClientPrivate DesktopAgnosticConfigClientPrivate;
typedef struct _DesktopAgnosticConfigSchemaPrivate DesktopAgnosticConfigSchemaPrivate;

#define DESKTOP_AGNOSTIC_CONFIG_TYPE_SCHEMA_OPTION (desktop_agnostic_config_schema_option_get_type ())
#define DESKTOP_AGNOSTIC_CONFIG_SCHEMA_OPTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DESKTOP_AGNOSTIC_CONFIG_TYPE_SCHEMA_OPTION, DesktopAgnosticConfigSchemaOption))
#define DESKTOP_AGNOSTIC_CONFIG_SCHEMA_OPTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DESKTOP_AGNOSTIC_CONFIG_TYPE_SCHEMA_OPTION, DesktopAgnosticConfigSchemaOptionClass))
#define DESKTOP_AGNOSTIC_CONFIG_IS_SCHEMA_OPTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DESKTOP_AGNOSTIC_CONFIG_TYPE_SCHEMA_OPTION))
#define DESKTOP_AGNOSTIC_CONFIG_IS_SCHEMA_OPTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DESKTOP_AGNOSTIC_CONFIG_TYPE_SCHEMA_OPTION))
#define DESKTOP_AGNOSTIC_CONFIG_SCHEMA_OPTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DESKTOP_AGNOSTIC_CONFIG_TYPE_SCHEMA_OPTION, DesktopAgnosticConfigSchemaOptionClass))

typedef struct _DesktopAgnosticConfigSchemaOption DesktopAgnosticConfigSchemaOption;
typedef struct _DesktopAgnosticConfigSchemaOptionClass DesktopAgnosticConfigSchemaOptionClass;

#define DESKTOP_AGNOSTIC_CONFIG_TYPE_SCHEMA_TYPE (desktop_agnostic_config_schema_type_get_type ())
#define DESKTOP_AGNOSTIC_CONFIG_SCHEMA_TYPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DESKTOP_AGNOSTIC_CONFIG_TYPE_SCHEMA_TYPE, DesktopAgnosticConfigSchemaType))
#define DESKTOP_AGNOSTIC_CONFIG_SCHEMA_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DESKTOP_AGNOSTIC_CONFIG_TYPE_SCHEMA_TYPE, DesktopAgnosticConfigSchemaTypeClass))
#define DESKTOP_AGNOSTIC_CONFIG_IS_SCHEMA_TYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DESKTOP_AGNOSTIC_CONFIG_TYPE_SCHEMA_TYPE))
#define DESKTOP_AGNOSTIC_CONFIG_IS_SCHEMA_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DESKTOP_AGNOSTIC_CONFIG_TYPE_SCHEMA_TYPE))
#define DESKTOP_AGNOSTIC_CONFIG_SCHEMA_TYPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DESKTOP_AGNOSTIC_CONFIG_TYPE_SCHEMA_TYPE, DesktopAgnosticConfigSchemaTypeClass))

typedef struct _DesktopAgnosticConfigSchemaType DesktopAgnosticConfigSchemaType;
typedef struct _DesktopAgnosticConfigSchemaTypeClass DesktopAgnosticConfigSchemaTypeClass;
typedef struct _DesktopAgnosticConfigSchemaOptionPrivate DesktopAgnosticConfigSchemaOptionPrivate;
typedef struct _DesktopAgnosticConfigSchemaTypePrivate DesktopAgnosticConfigSchemaTypePrivate;

typedef enum  {
	DESKTOP_AGNOSTIC_CONFIG_ERROR_NO_SCHEMA,
	DESKTOP_AGNOSTIC_CONFIG_ERROR_INVALID_TYPE,
	DESKTOP_AGNOSTIC_CONFIG_ERROR_KEY_NOT_FOUND,
	DESKTOP_AGNOSTIC_CONFIG_ERROR_METADATA_NOT_FOUND,
	DESKTOP_AGNOSTIC_CONFIG_ERROR_NOTIFY,
	DESKTOP_AGNOSTIC_CONFIG_ERROR_DUPLICATE_BINDING
} DesktopAgnosticConfigError;
#define DESKTOP_AGNOSTIC_CONFIG_ERROR desktop_agnostic_config_error_quark ()
typedef void (*DesktopAgnosticConfigNotifyFunc) (const char* group, const char* key, GValue* value, void* user_data);
struct _DesktopAgnosticConfigBackend {
	GObject parent_instance;
	DesktopAgnosticConfigBackendPrivate * priv;
};

struct _DesktopAgnosticConfigBackendClass {
	GObjectClass parent_class;
	void (*reset) (DesktopAgnosticConfigBackend* self, GError** error);
	void (*remove) (DesktopAgnosticConfigBackend* self, GError** error);
	void (*notify_add) (DesktopAgnosticConfigBackend* self, const char* group, const char* key, DesktopAgnosticConfigNotifyFunc callback, void* callback_target, GError** error);
	void (*notify) (DesktopAgnosticConfigBackend* self, const char* group, const char* key, GError** error);
	void (*notify_remove) (DesktopAgnosticConfigBackend* self, const char* group, const char* key, DesktopAgnosticConfigNotifyFunc callback, void* callback_target, GError** error);
	void (*get_value) (DesktopAgnosticConfigBackend* self, const char* group, const char* key, GValue* result, GError** error);
	void (*set_value) (DesktopAgnosticConfigBackend* self, const char* group, const char* key, GValue* value, GError** error);
	gboolean (*get_bool) (DesktopAgnosticConfigBackend* self, const char* group, const char* key, GError** error);
	void (*set_bool) (DesktopAgnosticConfigBackend* self, const char* group, const char* key, gboolean value, GError** error);
	float (*get_float) (DesktopAgnosticConfigBackend* self, const char* group, const char* key, GError** error);
	void (*set_float) (DesktopAgnosticConfigBackend* self, const char* group, const char* key, float value, GError** error);
	gint (*get_int) (DesktopAgnosticConfigBackend* self, const char* group, const char* key, GError** error);
	void (*set_int) (DesktopAgnosticConfigBackend* self, const char* group, const char* key, gint value, GError** error);
	char* (*get_string) (DesktopAgnosticConfigBackend* self, const char* group, const char* key, GError** error);
	void (*set_string) (DesktopAgnosticConfigBackend* self, const char* group, const char* key, const char* value, GError** error);
	GValueArray* (*get_list) (DesktopAgnosticConfigBackend* self, const char* group, const char* key, GError** error);
	void (*set_list) (DesktopAgnosticConfigBackend* self, const char* group, const char* key, GValueArray* value, GError** error);
	char* (*get_name) (DesktopAgnosticConfigBackend* self);
};

struct _DesktopAgnosticConfigBridge {
	GObject parent_instance;
	DesktopAgnosticConfigBridgePrivate * priv;
};

struct _DesktopAgnosticConfigBridgeClass {
	GObjectClass parent_class;
};

typedef enum  {
	DESKTOP_AGNOSTIC_CONFIG_BIND_METHOD_GLOBAL,
	DESKTOP_AGNOSTIC_CONFIG_BIND_METHOD_INSTANCE,
	DESKTOP_AGNOSTIC_CONFIG_BIND_METHOD_FALLBACK,
	DESKTOP_AGNOSTIC_CONFIG_BIND_METHOD_BOTH
} DesktopAgnosticConfigBindMethod;

struct _DesktopAgnosticConfigClient {
	GObject parent_instance;
	DesktopAgnosticConfigClientPrivate * priv;
};

struct _DesktopAgnosticConfigClientClass {
	GObjectClass parent_class;
};

typedef enum  {
	DESKTOP_AGNOSTIC_CONFIG_SCHEMA_ERROR_PARSE,
	DESKTOP_AGNOSTIC_CONFIG_SCHEMA_ERROR_INVALID_METADATA_OPTION,
	DESKTOP_AGNOSTIC_CONFIG_SCHEMA_ERROR_INVALID_METADATA_TYPE,
	DESKTOP_AGNOSTIC_CONFIG_SCHEMA_ERROR_INVALID_TYPE,
	DESKTOP_AGNOSTIC_CONFIG_SCHEMA_ERROR_INVALID_LIST_TYPE,
	DESKTOP_AGNOSTIC_CONFIG_SCHEMA_ERROR_TYPE_NAME_EXISTS,
	DESKTOP_AGNOSTIC_CONFIG_SCHEMA_ERROR_TYPE_GTYPE_EXISTS
} DesktopAgnosticConfigSchemaError;
#define DESKTOP_AGNOSTIC_CONFIG_SCHEMA_ERROR desktop_agnostic_config_schema_error_quark ()
struct _DesktopAgnosticConfigSchema {
	GObject parent_instance;
	DesktopAgnosticConfigSchemaPrivate * priv;
};

struct _DesktopAgnosticConfigSchemaClass {
	GObjectClass parent_class;
};

struct _DesktopAgnosticConfigSchemaOption {
	GObject parent_instance;
	DesktopAgnosticConfigSchemaOptionPrivate * priv;
};

struct _DesktopAgnosticConfigSchemaOptionClass {
	GObjectClass parent_class;
};

struct _DesktopAgnosticConfigSchemaType {
	GObject parent_instance;
	DesktopAgnosticConfigSchemaTypePrivate * priv;
};

struct _DesktopAgnosticConfigSchemaTypeClass {
	GObjectClass parent_class;
	char* (*serialize) (DesktopAgnosticConfigSchemaType* self, GValue* val, GError** error);
	void (*deserialize) (DesktopAgnosticConfigSchemaType* self, const char* serialized, GValue* result, GError** error);
	void (*parse_default_value) (DesktopAgnosticConfigSchemaType* self, GKeyFile* schema, const char* group, GValue* result, GError** error);
	GValueArray* (*parse_default_list_value) (DesktopAgnosticConfigSchemaType* self, GKeyFile* schema, const char* group, GError** error);
	char* (*get_name) (DesktopAgnosticConfigSchemaType* self);
	GType (*get_schema_type) (DesktopAgnosticConfigSchemaType* self);
};


GQuark desktop_agnostic_config_error_quark (void);
#define DESKTOP_AGNOSTIC_CONFIG_GROUP_DEFAULT "DEFAULT"
GType desktop_agnostic_config_backend_get_type (void) G_GNUC_CONST;
GHashTable* desktop_agnostic_config_backend_get_backend_metadata_keys (void);
void desktop_agnostic_config_backend_reset (DesktopAgnosticConfigBackend* self, GError** error);
void desktop_agnostic_config_backend_remove (DesktopAgnosticConfigBackend* self, GError** error);
void desktop_agnostic_config_backend_notify_add (DesktopAgnosticConfigBackend* self, const char* group, const char* key, DesktopAgnosticConfigNotifyFunc callback, void* callback_target, GError** error);
void desktop_agnostic_config_backend_notify (DesktopAgnosticConfigBackend* self, const char* group, const char* key, GError** error);
void desktop_agnostic_config_backend_notify_remove (DesktopAgnosticConfigBackend* self, const char* group, const char* key, DesktopAgnosticConfigNotifyFunc callback, void* callback_target, GError** error);
void desktop_agnostic_config_backend_get_value (DesktopAgnosticConfigBackend* self, const char* group, const char* key, GValue* result, GError** error);
void desktop_agnostic_config_backend_set_value (DesktopAgnosticConfigBackend* self, const char* group, const char* key, GValue* value, GError** error);
gboolean desktop_agnostic_config_backend_get_bool (DesktopAgnosticConfigBackend* self, const char* group, const char* key, GError** error);
void desktop_agnostic_config_backend_set_bool (DesktopAgnosticConfigBackend* self, const char* group, const char* key, gboolean value, GError** error);
float desktop_agnostic_config_backend_get_float (DesktopAgnosticConfigBackend* self, const char* group, const char* key, GError** error);
void desktop_agnostic_config_backend_set_float (DesktopAgnosticConfigBackend* self, const char* group, const char* key, float value, GError** error);
gint desktop_agnostic_config_backend_get_int (DesktopAgnosticConfigBackend* self, const char* group, const char* key, GError** error);
void desktop_agnostic_config_backend_set_int (DesktopAgnosticConfigBackend* self, const char* group, const char* key, gint value, GError** error);
char* desktop_agnostic_config_backend_get_string (DesktopAgnosticConfigBackend* self, const char* group, const char* key, GError** error);
void desktop_agnostic_config_backend_set_string (DesktopAgnosticConfigBackend* self, const char* group, const char* key, const char* value, GError** error);
GValueArray* desktop_agnostic_config_backend_get_list (DesktopAgnosticConfigBackend* self, const char* group, const char* key, GError** error);
void desktop_agnostic_config_backend_set_list (DesktopAgnosticConfigBackend* self, const char* group, const char* key, GValueArray* value, GError** error);
float desktop_agnostic_config_backend_get_float_from_value (GValue* value, GError** error);
gint desktop_agnostic_config_backend_get_int_from_value (GValue* value, GError** error);
DesktopAgnosticConfigBackend* desktop_agnostic_config_backend_construct (GType object_type);
char* desktop_agnostic_config_backend_get_name (DesktopAgnosticConfigBackend* self);
GType desktop_agnostic_config_schema_get_type (void) G_GNUC_CONST;
DesktopAgnosticConfigSchema* desktop_agnostic_config_backend_get_schema (DesktopAgnosticConfigBackend* self);
const char* desktop_agnostic_config_backend_get_instance_id (DesktopAgnosticConfigBackend* self);
GType desktop_agnostic_config_get_type (GError** error);
DesktopAgnosticConfigBackend* desktop_agnostic_config_new (DesktopAgnosticConfigSchema* schema, GError** error);
DesktopAgnosticConfigBackend* desktop_agnostic_config_new_for_instance (const char* instance_id, DesktopAgnosticConfigSchema* schema, GError** error);
GType desktop_agnostic_config_bridge_get_type (void) G_GNUC_CONST;
void desktop_agnostic_config_bridge_get_all_bindings (DesktopAgnosticConfigBridge* self, GData** result);
DesktopAgnosticConfigBridge* desktop_agnostic_config_bridge_get_default (void);
GParamSpec* desktop_agnostic_config_bridge_get_property_spec (GObject* obj, const char* property_name);
void desktop_agnostic_config_bridge_bind (DesktopAgnosticConfigBridge* self, DesktopAgnosticConfigBackend* config, const char* group, const char* key, GObject* obj, const char* property_name, gboolean read_only, GError** error);
void desktop_agnostic_config_bridge_remove (DesktopAgnosticConfigBridge* self, DesktopAgnosticConfigBackend* config, const char* group, const char* key, GObject* obj, const char* property_name, GError** error);
void desktop_agnostic_config_bridge_remove_all_for_object (DesktopAgnosticConfigBridge* self, DesktopAgnosticConfigBackend* config, GObject* obj, GError** error);
GType desktop_agnostic_config_bind_method_get_type (void) G_GNUC_CONST;
GType desktop_agnostic_config_client_get_type (void) G_GNUC_CONST;
DesktopAgnosticConfigClient* desktop_agnostic_config_client_new (const char* schema_filename);
DesktopAgnosticConfigClient* desktop_agnostic_config_client_construct (GType object_type, const char* schema_filename);
DesktopAgnosticConfigClient* desktop_agnostic_config_client_new_for_instance (const char* schema_filename, const char* instance_id, GError** error);
DesktopAgnosticConfigClient* desktop_agnostic_config_client_construct_for_instance (GType object_type, const char* schema_filename, const char* instance_id, GError** error);
DesktopAgnosticConfigClient* desktop_agnostic_config_client_new_for_schema (DesktopAgnosticConfigSchema* schema, const char* instance_id, GError** error);
DesktopAgnosticConfigClient* desktop_agnostic_config_client_construct_for_schema (GType object_type, DesktopAgnosticConfigSchema* schema, const char* instance_id, GError** error);
gboolean desktop_agnostic_config_client_get_bool (DesktopAgnosticConfigClient* self, const char* group, const char* key, GError** error);
void desktop_agnostic_config_client_set_bool (DesktopAgnosticConfigClient* self, const char* group, const char* key, gboolean value, GError** error);
gint desktop_agnostic_config_client_get_int (DesktopAgnosticConfigClient* self, const char* group, const char* key, GError** error);
void desktop_agnostic_config_client_set_int (DesktopAgnosticConfigClient* self, const char* group, const char* key, gint value, GError** error);
float desktop_agnostic_config_client_get_float (DesktopAgnosticConfigClient* self, const char* group, const char* key, GError** error);
void desktop_agnostic_config_client_set_float (DesktopAgnosticConfigClient* self, const char* group, const char* key, float value, GError** error);
char* desktop_agnostic_config_client_get_string (DesktopAgnosticConfigClient* self, const char* group, const char* key, GError** error);
void desktop_agnostic_config_client_set_string (DesktopAgnosticConfigClient* self, const char* group, const char* key, const char* value, GError** error);
GValueArray* desktop_agnostic_config_client_get_list (DesktopAgnosticConfigClient* self, const char* group, const char* key, GError** error);
void desktop_agnostic_config_client_set_list (DesktopAgnosticConfigClient* self, const char* group, const char* key, GValueArray* value, GError** error);
void desktop_agnostic_config_client_get_value (DesktopAgnosticConfigClient* self, const char* group, const char* key, GValue* result, GError** error);
void desktop_agnostic_config_client_set_value (DesktopAgnosticConfigClient* self, const char* group, const char* key, GValue* value, GError** error);
void desktop_agnostic_config_client_notify_add (DesktopAgnosticConfigClient* self, const char* group, const char* key, DesktopAgnosticConfigNotifyFunc callback, void* callback_target, GError** error);
void desktop_agnostic_config_client_notify (DesktopAgnosticConfigClient* self, const char* group, const char* key, GError** error);
void desktop_agnostic_config_client_notify_remove (DesktopAgnosticConfigClient* self, const char* group, const char* key, DesktopAgnosticConfigNotifyFunc callback, void* callback_target, GError** error);
void desktop_agnostic_config_client_remove_instance (DesktopAgnosticConfigClient* self);
void desktop_agnostic_config_client_reset (DesktopAgnosticConfigClient* self, gboolean instance_only, GError** error);
void desktop_agnostic_config_client_bind (DesktopAgnosticConfigClient* self, const char* group, const char* key, GObject* obj, const char* property_name, gboolean read_only, DesktopAgnosticConfigBindMethod method, GError** error);
void desktop_agnostic_config_client_unbind (DesktopAgnosticConfigClient* self, const char* group, const char* key, GObject* obj, const char* property_name, gboolean read_only, DesktopAgnosticConfigBindMethod method, GError** error);
void desktop_agnostic_config_client_unbind_all_for_object (DesktopAgnosticConfigClient* self, GObject* obj, GError** error);
const char* desktop_agnostic_config_client_get_instance_id (DesktopAgnosticConfigClient* self);
GQuark desktop_agnostic_config_schema_error_quark (void);
DesktopAgnosticConfigSchema* desktop_agnostic_config_schema_new (const char* filename, GError** error);
DesktopAgnosticConfigSchema* desktop_agnostic_config_schema_construct (GType object_type, const char* filename, GError** error);
GList* desktop_agnostic_config_schema_get_groups (DesktopAgnosticConfigSchema* self);
GList* desktop_agnostic_config_schema_get_keys (DesktopAgnosticConfigSchema* self, const char* group);
gboolean desktop_agnostic_config_schema_exists (DesktopAgnosticConfigSchema* self, const char* group, const char* key);
GType desktop_agnostic_config_schema_option_get_type (void) G_GNUC_CONST;
DesktopAgnosticConfigSchemaOption* desktop_agnostic_config_schema_get_option (DesktopAgnosticConfigSchema* self, const char* group, const char* key);
GValue* desktop_agnostic_config_schema_get_metadata_option (DesktopAgnosticConfigSchema* self, const char* name, GError** error);
GType desktop_agnostic_config_schema_type_get_type (void) G_GNUC_CONST;
void desktop_agnostic_config_schema_register_type (DesktopAgnosticConfigSchemaType* st, GError** error);
DesktopAgnosticConfigSchemaType* desktop_agnostic_config_schema_find_type (GType type);
DesktopAgnosticConfigSchemaType* desktop_agnostic_config_schema_find_type_by_name (const char* name);
const char* desktop_agnostic_config_schema_get_app_name (DesktopAgnosticConfigSchema* self);
DesktopAgnosticConfigSchemaOption* desktop_agnostic_config_schema_option_new (GKeyFile** schema, const char* group, const char* key, GError** error);
DesktopAgnosticConfigSchemaOption* desktop_agnostic_config_schema_option_construct (GType object_type, GKeyFile** schema, const char* group, const char* key, GError** error);
GType desktop_agnostic_config_schema_option_get_option_type (DesktopAgnosticConfigSchemaOption* self);
GType desktop_agnostic_config_schema_option_get_list_type (DesktopAgnosticConfigSchemaOption* self);
void desktop_agnostic_config_schema_option_get_default_value (DesktopAgnosticConfigSchemaOption* self, GValue* result);
const char* desktop_agnostic_config_schema_option_get_description (DesktopAgnosticConfigSchemaOption* self);
const char* desktop_agnostic_config_schema_option_get_summary (DesktopAgnosticConfigSchemaOption* self);
GValue* desktop_agnostic_config_schema_option_get_lower_boundary (DesktopAgnosticConfigSchemaOption* self);
GValue* desktop_agnostic_config_schema_option_get_upper_boundary (DesktopAgnosticConfigSchemaOption* self);
GValueArray* desktop_agnostic_config_schema_option_get_whitelist (DesktopAgnosticConfigSchemaOption* self);
GValueArray* desktop_agnostic_config_schema_option_get_blacklist (DesktopAgnosticConfigSchemaOption* self);
gboolean desktop_agnostic_config_schema_option_get_per_instance (DesktopAgnosticConfigSchemaOption* self);
char* desktop_agnostic_config_schema_type_serialize (DesktopAgnosticConfigSchemaType* self, GValue* val, GError** error);
void desktop_agnostic_config_schema_type_deserialize (DesktopAgnosticConfigSchemaType* self, const char* serialized, GValue* result, GError** error);
void desktop_agnostic_config_schema_type_parse_default_value (DesktopAgnosticConfigSchemaType* self, GKeyFile* schema, const char* group, GValue* result, GError** error);
GValueArray* desktop_agnostic_config_schema_type_parse_default_list_value (DesktopAgnosticConfigSchemaType* self, GKeyFile* schema, const char* group, GError** error);
DesktopAgnosticConfigSchemaType* desktop_agnostic_config_schema_type_construct (GType object_type);
char* desktop_agnostic_config_schema_type_get_name (DesktopAgnosticConfigSchemaType* self);
GType desktop_agnostic_config_schema_type_get_schema_type (DesktopAgnosticConfigSchemaType* self);


G_END_DECLS

#endif
