Commit a58c5aec authored by Brian Tarricone's avatar Brian Tarricone
Browse files

WIP

parent ba4157eb
......@@ -30,7 +30,7 @@
String property)
@channel: A channel/application/namespace name.
@propert: A property name.
@property: A property name.
Gets a property value, returned as a variant type.
-->
......@@ -39,13 +39,34 @@
<arg direction="in" name="property" type="s"/>
<arg direction="out" name="value" type="v"/>
</method>
<!--
Dict{String,Variant} org.xfce.Xfconf.GetPropertyFull(String channel,
String property)
@channel: A channel/application/namespace name.
@property: A property name.
Gets a property value and any associated metadata as a
dictionary of key-value pairs. The currently-known keys are:
* value (Variant): The actual value of the property.
* locked (Boolean): Whether or not the property is locked.
More keys may be added in the future; implementations must
ignore keys they do not understand.
-->
<method name="GetPropertyFull">
<arg direction="in" name="channel" type="s"/>
<arg direction="in" name="property" type="s"/>
<arg direction="out" name="metadata" type="a{s,v}"/>
</method>
<!--
Array{String,Variant} org.xfce.Xfconf.GetAllProperties(String channel,
String property_base)
Dict{String,Variant} org.xfce.Xfconf.GetAllProperties(String channel,
String property_base)
@channel: A channel/application/namespace name.
@property_base: The root of poperties to return.
@property_base: The root of properties to return.
Gets all the properties and values that exist in
@channel that are rooted at @property_base. Passing
......@@ -61,6 +82,32 @@
<arg direction="in" name="property_base" type="s"/>
<arg direction="out" name="properties" type="a{sv}"/>
</method>
<!--
Dict{String,Dict{String,Variant}} org.xfce.Xfconf.GetAllPropertiesFull(String channel,
String property_base)
@channel: A channel/application/namespace name.
@property_base: The root of properties to return.
Gets all properties and associated "metadata" that exist
in @channel that are rooted at @property_base. Passing
"/" or the empty string as @property_base will return
all properties in the channel.
This method works similarly to GetPropertyFull() in that
it returns all metadata associated with each property.
In this case, the "inner" dicts returned is the same as
the single dict returned by GetPropertyFull(), and the
"outer" dict's keys are the property names.
See org.xfce.GetPropertyFull() for an explanation of the
metadata keys.
-->
<method name="GetAllPropertiesFull">
<arg direction="in" name="channel" type="s"/>
<arg direction="in" name="property_base" type="s"/>
<arg direction="out" name="metadata" type="a{sa{sv}}"/>
</method>
<!--
Boolean org.xfce.Xfconf.PropertyExists(String channel,
......
......@@ -55,6 +55,7 @@ typedef struct
{
GTimeVal last_used;
GValue value;
gboolean locked;
} XfconfCacheItem;
static XfconfCacheItem *
......
......@@ -62,6 +62,11 @@ gboolean xfconf_cache_reset(XfconfCache *cache,
gboolean recursive,
GError **error);
G_GNUC_INTERNAL
gboolean xfconf_cache_is_locked(XfconfCache *cache,
const gchar *property,
GError **error);
G_GNUC_INTERNAL
void xfconf_cache_set_max_entries(XfconfCache *cache,
gint max_entries);
......
......@@ -44,11 +44,21 @@ static gboolean xfconf_get_property(XfconfDaemon *xfconfd,
const gchar *property,
GValue *value,
GError **error);
static gboolean xfconf_get_property_full(XfconfDaemon *xfconfd,
const gchar *channel,
const gchar *property,
GHashTable **OUT_metadata,
GError **error);
static gboolean xfconf_get_all_properties(XfconfDaemon *xfconfd,
const gchar *channel,
const gchar *property_base,
GHashTable **properties,
GError **error);
static gboolean xfconf_get_all_properties_full(XfconfDaemon *xfconfd,
const gchar *channel,
const gchar *property,
GHashTable **OUT_metadata,
GError **error);
static gboolean xfconf_property_exists(XfconfDaemon *xfconfd,
const gchar *channel,
const gchar *property,
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment