GSettings: remove "context" from backend too.

Note: this is a GSettingsBackend API/ABI change.
This commit is contained in:
Ryan Lortie 2010-06-17 15:06:33 -04:00
parent 4708b8ecc3
commit 0010e86572
2 changed files with 1 additions and 74 deletions

View File

@ -45,13 +45,6 @@ struct _GSettingsBackendPrivate
{
GSettingsBackendWatch *watches;
GStaticMutex lock;
gchar *context;
};
enum
{
PROP_0,
PROP_CONTEXT
};
/**
@ -358,7 +351,7 @@ g_settings_backend_dispatch_signal (GSettingsBackend *backend,
if (data1_free == NULL)
data1_free = pointer_ignore;
context = g_settings_backend_get_active_context ();
here_and_now = g_main_context_new ();
@ -920,53 +913,12 @@ g_settings_backend_subscribe (GSettingsBackend *backend,
->subscribe (backend, name);
}
static void
g_settings_backend_set_property (GObject *object,
guint prop_id,
const GValue *value,
GParamSpec *pspec)
{
GSettingsBackend *backend = G_SETTINGS_BACKEND (object);
switch (prop_id)
{
case PROP_CONTEXT:
backend->priv->context = g_value_dup_string (value);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
}
}
static void
g_settings_backend_get_property (GObject *object,
guint prop_id,
GValue *value,
GParamSpec *pspec)
{
GSettingsBackend *backend = G_SETTINGS_BACKEND (object);
switch (prop_id)
{
case PROP_CONTEXT:
g_value_set_string (value, backend->priv->context);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
}
}
static void
g_settings_backend_finalize (GObject *object)
{
GSettingsBackend *backend = G_SETTINGS_BACKEND (object);
g_static_mutex_unlock (&backend->priv->lock);
g_free (backend->priv->context);
G_OBJECT_CLASS (g_settings_backend_parent_class)
->finalize (object);
@ -995,32 +947,9 @@ g_settings_backend_class_init (GSettingsBackendClass *class)
class->subscribe = ignore_subscription;
class->unsubscribe = ignore_subscription;
gobject_class->get_property = g_settings_backend_get_property;
gobject_class->set_property = g_settings_backend_set_property;
gobject_class->finalize = g_settings_backend_finalize;
g_type_class_add_private (class, sizeof (GSettingsBackendPrivate));
/**
* GSettingsBackend:context:
*
* The "context" property gives a hint to the backend as to
* what storage to use. It is up to the implementation to make
* use of this information.
*
* E.g. DConf supports "user", "system", "defaults" and "login"
* contexts.
*
* If your backend supports different contexts, you should also
* provide an implementation of the supports_context() class
* function in #GSettingsBackendClass.
*/
g_object_class_install_property (gobject_class, PROP_CONTEXT,
g_param_spec_string ("context", P_("Context"),
P_("An identifier to decide which storage to use"),
"", G_PARAM_READWRITE |
G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS));
}
/*< private >

View File

@ -65,8 +65,6 @@ struct _GSettingsBackendClass
{
GObjectClass parent_class;
gboolean (*supports_context) (const gchar *context);
GVariant * (*read) (GSettingsBackend *backend,
const gchar *key,
const GVariantType *expected_type,