Functions
MyQttHash: Thread Safe Hash table used inside MyQtt Library.

Functions

void myqtt_hash_clear (MyQttHash *hash_table)
 Allows to clear a hash table. More...
 
axl_bool myqtt_hash_delete (MyQttHash *hash_table, axlPointer key)
 Allows to remove the provided key and its associated data on the provided hash without calling to the optionally associated destroy functions. More...
 
void myqtt_hash_destroy (MyQttHash *hash_table)
 Destroy the given hash freeing all resources. More...
 
axl_bool myqtt_hash_exists (MyQttHash *hash_table, axlPointer key)
 Allows to check if a key exists (without depending on its actual value). More...
 
void myqtt_hash_foreach (MyQttHash *hash_table, axlHashForeachFunc func, axlPointer user_data)
 Perform a foreach over all elements inside the MyQttHash. More...
 
void myqtt_hash_foreach2 (MyQttHash *hash_table, axlHashForeachFunc2 func, axlPointer user_data, axlPointer user_data2)
 Perform a foreach over all elements inside the MyQttHash, allowing to provide two user defined reference at the handler. More...
 
void myqtt_hash_foreach3 (MyQttHash *hash_table, axlHashForeachFunc3 func, axlPointer user_data, axlPointer user_data2, axlPointer user_data3)
 Perform a foreach over all elements inside the MyQttHash, allowing to provide three user defined reference at the handler. More...
 
void myqtt_hash_insert (MyQttHash *hash_table, axlPointer key, axlPointer value)
 Inserts a pair key/value inside the given MyQttHash. More...
 
int myqtt_hash_lock_until_changed (MyQttHash *hash_table, long wait_microseconds)
 Allows the callers to get locked until a change is detected on the hash table (insert, update or remove operation) found or the wait period is reached (wait_microseconds). More...
 
axlPointer myqtt_hash_lookup (MyQttHash *hash_table, axlPointer key)
 Perform a lookup using the given key inside the given hash. More...
 
axlPointer myqtt_hash_lookup_and_clear (MyQttHash *hash_table, axlPointer key)
 Allows to get the data pointed by the provided key and removing it from the table in one step. More...
 
MyQttHashmyqtt_hash_new (axlHashFunc hash_func, axlEqualFunc key_equal_func)
 Creates a new MyQttHash without providing destroy function. More...
 
MyQttHashmyqtt_hash_new_full (axlHashFunc hash_func, axlEqualFunc key_equal_func, axlDestroyFunc key_destroy_func, axlDestroyFunc value_destroy_func)
 Creates a new MyQttHash setting all functions. More...
 
void myqtt_hash_ref (MyQttHash *hash_table)
 Allows to increase in one unit the reference counting on the hash table received. More...
 
axl_bool myqtt_hash_remove (MyQttHash *hash_table, axlPointer key)
 Removes the value index by the given key inside the given hash. More...
 
void myqtt_hash_replace (MyQttHash *hash_table, axlPointer key, axlPointer value)
 Replace using the given pair key/value into the given hash. More...
 
void myqtt_hash_replace_full (MyQttHash *hash_table, axlPointer key, axlDestroyFunc key_destroy, axlPointer value, axlDestroyFunc value_destroy)
 Replace using the given pair key/value into the given hash, providing the particular key and value destroy function, overrding default ones. More...
 
int myqtt_hash_size (MyQttHash *hash_table)
 Returns number of items insisde the hash. More...
 
void myqtt_hash_unref (MyQttHash *hash_table)
 Decrease reference counting and, if reached 0 reference a call to myqtt_hash_destroy is done. More...
 

Detailed Description