/* * Copyright © 2009, 2010 Codethink Limited * Copyright © 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2 of the licence, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, see . * * Authors: Ryan Lortie * Matthias Clasen */ #ifndef __G_SETTINGS_BACKEND_INTERNAL_H__ #define __G_SETTINGS_BACKEND_INTERNAL_H__ #include "gsettingsbackend.h" typedef struct { void (* changed) (GObject *target, GSettingsBackend *backend, const gchar *key, gpointer origin_tag); void (* path_changed) (GObject *target, GSettingsBackend *backend, const gchar *path, gpointer origin_tag); void (* keys_changed) (GObject *target, GSettingsBackend *backend, const gchar *prefix, const gchar * const *names, gpointer origin_tag); void (* writable_changed) (GObject *target, GSettingsBackend *backend, const gchar *key); void (* path_writable_changed) (GObject *target, GSettingsBackend *backend, const gchar *path); } GSettingsListenerVTable; void g_settings_backend_watch (GSettingsBackend *backend, const GSettingsListenerVTable *vtable, GObject *target, GMainContext *context); void g_settings_backend_unwatch (GSettingsBackend *backend, GObject *target); GTree * g_settings_backend_create_tree (void); GVariant * g_settings_backend_read (GSettingsBackend *backend, const gchar *key, const GVariantType *expected_type, gboolean default_value); GVariant * g_settings_backend_read_user_value (GSettingsBackend *backend, const gchar *key, const GVariantType *expected_type); gboolean g_settings_backend_write (GSettingsBackend *backend, const gchar *key, GVariant *value, gpointer origin_tag); gboolean g_settings_backend_write_tree (GSettingsBackend *backend, GTree *tree, gpointer origin_tag); void g_settings_backend_reset (GSettingsBackend *backend, const gchar *key, gpointer origin_tag); gboolean g_settings_backend_get_writable (GSettingsBackend *backend, const char *key); void g_settings_backend_unsubscribe (GSettingsBackend *backend, const char *name); void g_settings_backend_subscribe (GSettingsBackend *backend, const char *name); GPermission * g_settings_backend_get_permission (GSettingsBackend *backend, const gchar *path); void g_settings_backend_sync_default (void); GType g_null_settings_backend_get_type (void); GType g_memory_settings_backend_get_type (void); #ifdef HAVE_COCOA GType g_nextstep_settings_backend_get_type (void); #endif #endif /* __G_SETTINGS_BACKEND_INTERNAL_H__ */