Core API Reference - Policy Cache
Desktop Apps Training - Policy Kit

Policy Cache

Policy Cache — Holds the actions defined on the system.

 

Synopsis



PolKitPolicyCache;
polkit_bool_t (*PolKitPolicyCacheForeachFunc) (PolKitPolicyCache *policy_cache,
PolKitPolicyFileEntry *entry,
void *user_data);
PolKitPolicyCache* polkit_policy_cache_ref (PolKitPolicyCache *policy_cache);
void polkit_policy_cache_unref (PolKitPolicyCache *policy_cache);
void polkit_policy_cache_debug (PolKitPolicyCache *policy_cache);
PolKitPolicyFileEntry* polkit_policy_cache_get_entry (PolKitPolicyCache *policy_cache,
PolKitAction *action);
PolKitPolicyFileEntry* polkit_policy_cache_get_entry_by_id
(PolKitPolicyCache *policy_cache,
const char *action_id);
PolKitPolicyFileEntry* polkit_policy_cache_get_entry_by_annotation
(PolKitPolicyCache *policy_cache,
const char *annotation_key,
const char *annotation_value);
polkit_bool_t polkit_policy_cache_foreach (PolKitPolicyCache *policy_cache,
PolKitPolicyCacheForeachFunc callback,
void *user_data);

Description

This class is used to hold all policy objects (stemming from policy files) and provide look-up functions.

 

Details

PolKitPolicyCache

typedef struct _PolKitPolicyCache PolKitPolicyCache;

Instances of this class are used to hold all policy objects (stemming from policy files) and provide look-up functions.

 


PolKitPolicyCacheForeachFunc ()

polkit_bool_t       (*PolKitPolicyCacheForeachFunc)     (PolKitPolicyCache *policy_cache,
PolKitPolicyFileEntry *entry,
void *user_data);

Callback function for polkit_policy_cache_foreach().

 

policy_cache :

the policy cache

entry :

an entry in the cache - do not unref

user_data :

user data passed to polkit_policy_cache_foreach()

Returns :

TRUE to short-circuit; e.g. stop the iteration

polkit_policy_cache_ref ()

PolKitPolicyCache*  polkit_policy_cache_ref             (PolKitPolicyCache *policy_cache);

Increase reference count.

 

policy_cache :

the policy cache object

Returns :

the object

polkit_policy_cache_unref ()

void                polkit_policy_cache_unref           (PolKitPolicyCache *policy_cache);

Decreases the reference count of the object. If it becomes zero, the object is freed. Before freeing, reference counts on embedded objects are decresed by one.

 

policy_cache :

the policy cache object

polkit_policy_cache_debug ()

void                polkit_policy_cache_debug           (PolKitPolicyCache *policy_cache);

Print debug information about object

 

policy_cache :

the cache

polkit_policy_cache_get_entry ()

PolKitPolicyFileEntry* polkit_policy_cache_get_entry    (PolKitPolicyCache *policy_cache,
PolKitAction *action);

Given a action, find the object describing the definition of the policy; e.g. data stemming from files in /usr/share/PolicyKit/policy.

 

policy_cache :

the cache

action :

the action

Returns :

A PolKitPolicyFileEntry entry on sucess; otherwise NULL if the action wasn't identified. Caller shall not unref this object.

polkit_policy_cache_get_entry_by_id ()

PolKitPolicyFileEntry* polkit_policy_cache_get_entry_by_id
(PolKitPolicyCache *policy_cache,
const char *action_id);

Given a action identifier, find the object describing the definition of the policy; e.g. data stemming from files in /usr/share/PolicyKit/policy.

 

policy_cache :

the cache

action_id :

the action identifier

Returns :

A PolKitPolicyFileEntry entry on sucess; otherwise NULL if the action wasn't identified. Caller shall not unref this object.

polkit_policy_cache_get_entry_by_annotation ()

PolKitPolicyFileEntry* polkit_policy_cache_get_entry_by_annotation
(PolKitPolicyCache *policy_cache,
const char *annotation_key,
const char *annotation_value);

Find the first policy file entry where a given annotation matches a given value. Note that there is nothing preventing the existence of multiple policy file entries matching this criteria; it would however be a packaging bug if this situation occured.

 

policy_cache :

the policy cache

annotation_key :

the key to check for

annotation_value :

the value to check for

Returns :

The first PolKitPolicyFileEntry matching the search criteria. The caller shall not unref this object. Returns NULL if there are no policy file entries matching the search criteria.

Since 0.7


polkit_policy_cache_foreach ()

polkit_bool_t       polkit_policy_cache_foreach         (PolKitPolicyCache *policy_cache,
PolKitPolicyCacheForeachFunc callback,
void *user_data);

Visit all entries in the policy cache.

 

policy_cache :

the policy cache

callback :

callback function

user_data :

user data to pass to callback function

Returns :

TRUE only if iteration was short-circuited