diff options
author | Ted Gould <ted@gould.cx> | 2011-02-21 17:32:53 -0600 |
---|---|---|
committer | Ted Gould <ted@gould.cx> | 2011-02-21 17:32:53 -0600 |
commit | 543691a8c404735cc6f5bfbe24dc8bbe57908ff0 (patch) | |
tree | 215d34a2e51167988f6d104e6a0d771c4b2e4c9f /libdbusmenu-glib/defaults.c | |
parent | c89e30d70bcd342837af4633f393a26c7fb3bdc9 (diff) | |
download | libdbusmenu-543691a8c404735cc6f5bfbe24dc8bbe57908ff0.tar.gz libdbusmenu-543691a8c404735cc6f5bfbe24dc8bbe57908ff0.tar.bz2 libdbusmenu-543691a8c404735cc6f5bfbe24dc8bbe57908ff0.zip |
Flesh out the getters as well
Diffstat (limited to 'libdbusmenu-glib/defaults.c')
-rw-r--r-- | libdbusmenu-glib/defaults.c | 40 |
1 files changed, 38 insertions, 2 deletions
diff --git a/libdbusmenu-glib/defaults.c b/libdbusmenu-glib/defaults.c index 9fde682..e8cdea0 100644 --- a/libdbusmenu-glib/defaults.c +++ b/libdbusmenu-glib/defaults.c @@ -228,8 +228,26 @@ dbusmenu_defaults_default_set (DbusmenuDefaults * defaults, const gchar * type, GVariant * dbusmenu_defaults_default_get (DbusmenuDefaults * defaults, const gchar * type, const gchar * property) { + g_return_val_if_fail(DBUSMENU_IS_DEFAULTS(defaults), NULL); + g_return_val_if_fail(property != NULL, NULL); - return NULL; + if (type == NULL) { + type = DBUSMENU_CLIENT_TYPES_DEFAULT; + } + + GHashTable * prop_table = (GHashTable *)g_hash_table_lookup(defaults->priv->types, type); + + if (prop_table == NULL) { + return NULL; + } + + DefaultEntry * entry = (DefaultEntry *)g_hash_table_lookup(prop_table, property); + + if (entry == NULL) { + return NULL; + } + + return entry->value; } /** @@ -246,7 +264,25 @@ dbusmenu_defaults_default_get (DbusmenuDefaults * defaults, const gchar * type, GVariantType * dbusmenu_defaults_default_get_type (DbusmenuDefaults * defaults, const gchar * type, const gchar * property) { + g_return_val_if_fail(DBUSMENU_IS_DEFAULTS(defaults), NULL); + g_return_val_if_fail(property != NULL, NULL); + + if (type == NULL) { + type = DBUSMENU_CLIENT_TYPES_DEFAULT; + } + + GHashTable * prop_table = (GHashTable *)g_hash_table_lookup(defaults->priv->types, type); + + if (prop_table == NULL) { + return NULL; + } + + DefaultEntry * entry = (DefaultEntry *)g_hash_table_lookup(prop_table, property); + + if (entry == NULL) { + return NULL; + } - return NULL; + return entry->type; } |