Add gvdb_table_get_raw_value() API for GSettings

This commit is contained in:
Ryan Lortie 2010-10-03 22:54:03 -04:00
parent a35852bda3
commit e5e491c969
2 changed files with 26 additions and 0 deletions

View File

@ -457,6 +457,29 @@ gvdb_table_get_value (GvdbTable *file,
return value; return value;
} }
/**
* gvdb_table_get_raw_value:
* @table: a #GvdbTable
* @key: a string
* @returns: a #GVariant, or %NULL
*
* Looks up a value named @key in @file.
*
* This call is equivalent to gvdb_table_get_value() except that it
* never byteswaps the value.
**/
GVariant *
gvdb_table_get_raw_value (GvdbTable *table,
const gchar *key)
{
const struct gvdb_hash_item *item;
if ((item = gvdb_table_lookup (table, key, 'v')) == NULL)
return NULL;
return gvdb_table_value_from_item (table, item);
}
/** /**
* gvdb_table_get_table: * gvdb_table_get_table:
* @file: a #GvdbTable * @file: a #GvdbTable

View File

@ -42,6 +42,9 @@ G_GNUC_INTERNAL
GvdbTable * gvdb_table_get_table (GvdbTable *table, GvdbTable * gvdb_table_get_table (GvdbTable *table,
const gchar *key); const gchar *key);
G_GNUC_INTERNAL G_GNUC_INTERNAL
GVariant * gvdb_table_get_raw_value (GvdbTable *table,
const gchar *key);
G_GNUC_INTERNAL
GVariant * gvdb_table_get_value (GvdbTable *table, GVariant * gvdb_table_get_value (GvdbTable *table,
const gchar *key); const gchar *key);