This is useful for passing free / unref functions in.
KitHashNode *node;
for (node = hash->top_nodes[n]; node != NULL; node = node->next) {
- if (cb (hash, node->key, node->value, user_data))
+ if (cb (node->key, node->value, user_data, hash))
return TRUE;
}
}
for (node = hash->top_nodes[n]; node != NULL; node = node_next) {
node_next = node->next;
- if (cb (hash, node->key, node->value, user_data)) {
+ if (cb (node->key, node->value, user_data, hash)) {
if (hash->key_destroy_func != NULL)
hash->key_destroy_func (node->key);
#ifdef KIT_BUILD_TESTS
static kit_bool_t
-_it1 (KitHash *hash, void *key, void *value, void *user_data)
+_it1 (void *key, void *value, void *user_data, KitHash *hash)
{
int *count = (int *) user_data;
*count += 1;
}
static kit_bool_t
-_it2 (KitHash *hash, void *key, void *value, void *user_data)
+_it2 (void *key, void *value, void *user_data, KitHash *hash)
{
int *count = (int *) user_data;
*count += 1;
}
static kit_bool_t
-_it_sum (KitHash *hash, void *key, void *value, void *user_data)
+_it_sum (void *key, void *value, void *user_data, KitHash *hash)
{
int *count = (int *) user_data;
*count += (int) value;
}
static kit_bool_t
-_it_rem (KitHash *hash, void *key, void *value, void *user_data)
+_it_rem (void *key, void *value, void *user_data, KitHash *hash)
{
if (strlen ((char *) key) > 4)
return TRUE;
/**
* KitHashForeachFunc:
- * @hash: the hash table
* @key: key
* @value: value
* @user_data: user data passed to kit_hash_foreach()
+ * @hash: the hash table
*
* Type signature for callback function used in kit_hash_foreach().
*
* Returns: Return #TRUE to short-circuit, e.g. stop the iteration.
*/
-typedef kit_bool_t (*KitHashForeachFunc) (KitHash *hash,
- void *key,
+typedef kit_bool_t (*KitHashForeachFunc) (void *key,
void *value,
- void *user_data);
+ void *user_data,
+ KitHash *hash);
KitHash *kit_hash_new (KitHashFunc hash_func,
kit_return_val_if_fail (func != NULL, FALSE);
for (l = list; l != NULL; l = l->next) {
- if (func (list, l->data, user_data))
+ if (func (l->data, user_data, list))
return TRUE;
}
} _Closure;
static kit_bool_t
-_sum (KitList *list, void *data, void *user_data)
+_sum (void *data, void *user_data, KitList *list)
{
_Closure *c = (_Closure*) user_data;
}
static kit_bool_t
-_sum2 (KitList *list, void *data, void *user_data)
+_sum2 (void *data, void *user_data, KitList *list)
{
_Closure *c = (_Closure*) user_data;
/**
* KitListForeachFunc:
- * @list: the list
* @data: data of link entry
* @user_data: user data passed to kit_list_foreach()
+ * @list: the list
*
* Type signature for callback function used in kit_list_foreach().
*
* Returns: Return #TRUE to short-circuit, e.g. stop the iteration.
*/
-typedef kit_bool_t (*KitListForeachFunc) (KitList *list,
- void *data,
- void *user_data);
+typedef kit_bool_t (*KitListForeachFunc) (void *data,
+ void *user_data,
+ KitList *list);
KitList *kit_list_append (KitList *list, void *data);
KitList *kit_list_prepend (KitList *list, void *data);
}
static kit_bool_t
-_free_elem_in_list (KitList *list, void *data, void *user_data)
+_free_elem_in_list (void *data, void *user_data, KitList *list)
{
kit_free (data);
return FALSE;
/*--------------------------------------------------------------------------------------------------------------*/
static void
-_set_session_inactive_iter (KitHash *hash, void *key, PolKitCaller *caller, const char *session_objpath)
+_set_session_inactive_iter (void *key, PolKitCaller *caller, const char *session_objpath, KitHash *hash)
{
char *objpath;
PolKitSession *session;
}
static void
-_set_session_active_iter (KitHash *hash, void *key, PolKitCaller *caller, const char *session_objpath)
+_set_session_active_iter (void *key, PolKitCaller *caller, const char *session_objpath, KitHash *hash)
{
char *objpath;
PolKitSession *session;
static void
_update_session_is_active (PolKitTracker *pk_tracker, const char *session_objpath, kit_bool_t is_active)
{
- kit_hash_foreach (pk_tracker->dbus_name_to_caller,
+ kit_hash_foreach (pk_tracker->dbus_name_to_caller,
(KitHashForeachFunc) (is_active ? _set_session_active_iter : _set_session_inactive_iter),
(void *) session_objpath);
}
/*--------------------------------------------------------------------------------------------------------------*/
static kit_bool_t
-_remove_caller_by_session_iter (KitHash *hash, void *key, PolKitCaller *caller, const char *session_objpath)
+_remove_caller_by_session_iter (void *key, PolKitCaller *caller, const char *session_objpath, KitHash *hash)
{
char *objpath;
PolKitSession *session;
/*--------------------------------------------------------------------------------------------------------------*/
static kit_bool_t
-_remove_caller_by_dbus_name_iter (KitHash *hash, void *key, PolKitCaller *caller, const char *dbus_name)
+_remove_caller_by_dbus_name_iter (void *key, PolKitCaller *caller, const char *dbus_name, KitHash *hash)
{
char *name;
if (!polkit_caller_get_dbus_name (caller, &name))
static void
_remove_caller_by_dbus_name (PolKitTracker *pk_tracker, const char *dbus_name)
{
- kit_hash_foreach_remove (pk_tracker->dbus_name_to_caller,
- (KitHashForeachFunc) _remove_caller_by_dbus_name_iter,
- (void *) dbus_name);
+ kit_hash_foreach_remove (pk_tracker->dbus_name_to_caller,
+ (KitHashForeachFunc) _remove_caller_by_dbus_name_iter,
+ (void *) dbus_name);
}
/*--------------------------------------------------------------------------------------------------------------*/
/* PolKitAuthorizationDB structure is defined in polkit/polkit-private.h */
static kit_bool_t
-clear_auth (KitList *list, void *data, void *user_data)
+clear_auth (void *data, void *user_data, KitList *list)
{
PolKitAuthorization *auth = (PolKitAuthorization *) data;
polkit_authorization_unref (auth);
} _AnnotationsClosure;
static polkit_bool_t
-_annotations_cb (KitHash *hash,
- void *key,
+_annotations_cb (void *key,
void *value,
- void *user_data)
+ void *user_data,
+ KitHash *hash)
{
_AnnotationsClosure *closure = user_data;
return closure->cb (closure->pfe, (const char *) key, (const char *) value, closure->user_data);
closure.user_data = user_data;
return kit_hash_foreach (policy_file_entry->annotations,
- _annotations_cb,
- &closure);
+ _annotations_cb,
+ &closure);
}
/**