Defines | |
#define | microfeed_store_get(s, k, t) ((t*)microfeed_store_get_impl(s, k)) |
#define | microfeed_store_get_index(s, i, t) ((t*)microfeed_store_get_index_impl(s, i)) |
#define | microfeed_store_replace(s, d, t) ((t*)microfeed_store_replace_impl(s, d)) |
#define | microfeed_store_remove_key(s, k, t) ((t*)microfeed_store_remove_key_impl(s, k)) |
#define | microfeed_store_remove_index(s, i, t) ((t*)microfeed_store_remove_index_impl(s, i)) |
#define | microfeed_store_iterator_get(i, t) ((t*)microfeed_store_iterator_get_impl(i)) |
Typedefs | |
typedef struct _MicrofeedStore | MicrofeedStore |
Opaque data type representing an array that grows automatically when items are added. | |
typedef struct _MicrofeedStoreIterator | MicrofeedStoreIterator |
Opaque data type representing an array iterator that traverses over the elements of the array. | |
typedef int(* | MicrofeedStoreCompareKeysFunction )(const void *key1, const void *key2) |
typedef const void *(* | MicrofeedStoreGetKeyFunction )(const void *item) |
typedef void(* | MicrofeedStoreForeachFunction )(void *data, void *user_data) |
typedef int(* | MicrofeedStoreCompareDatasFunction )(const void *data1, const void *data2, unsigned int index1, unsigned int index2, void *user_data) |
typedef void(* | MicrofeedStoreFreeDataFunction )(void *data) |
Functions | |
MicrofeedStore * | microfeed_store_new_sorted (MicrofeedStoreCompareKeysFunction compare_keys, MicrofeedStoreGetKeyFunction get_key) |
MicrofeedStore * | microfeed_store_new_unsorted (MicrofeedStoreCompareKeysFunction compare_keys, MicrofeedStoreGetKeyFunction get_key) |
void | microfeed_store_free (MicrofeedStore *store) |
int | microfeed_store_is_sorted (MicrofeedStore *store) |
void | microfeed_store_foreach (MicrofeedStore *store, MicrofeedStoreForeachFunction foreach, void *user_data) |
void * | microfeed_store_get_impl (MicrofeedStore *store, const void *key) |
void * | microfeed_store_get_index_impl (MicrofeedStore *store, unsigned int index) |
unsigned int | microfeed_store_get_size (MicrofeedStore *store) |
int | microfeed_store_insert (MicrofeedStore *store, void *data) |
void * | microfeed_store_replace_impl (MicrofeedStore *store, void *data) |
int | microfeed_store_remove (MicrofeedStore *store, const void *data) |
void * | microfeed_store_remove_key_impl (MicrofeedStore *store, const void *key) |
void * | microfeed_store_remove_index_impl (MicrofeedStore *store, unsigned int index) |
void | microfeed_store_remove_and_free_all (MicrofeedStore *store, MicrofeedStoreFreeDataFunction free_data) |
MicrofeedStoreIterator * | microfeed_store_iterate (MicrofeedStore *store, const void *start_key) |
void | microfeed_store_sort (MicrofeedStore *store, MicrofeedStoreCompareDatasFunction compare_datas, void *user_data) |
void | microfeed_store_iterator_free (MicrofeedStoreIterator *iterator) |
void * | microfeed_store_iterator_get_impl (MicrofeedStoreIterator *iterator) |
void | microfeed_store_iterator_next (MicrofeedStoreIterator *iterator) |
int | microfeed_store_compare_keys_direct (const void *key1, const void *key2) |
const void * | microfeed_store_get_key_direct (const void *data) |
This module can be also utilized outside of the library implementation.
#define microfeed_store_get | ( | s, | |||
k, | |||||
t | ) | ((t*)microfeed_store_get_impl(s, k)) |
Definition at line 43 of file microfeedstore.h.
Referenced by microfeed_configuration_add_subscription(), microfeed_configuration_get_subscriptions(), microfeed_configuration_is_subscribed(), microfeed_configuration_remove_subscription(), microfeed_database_environment_get_database(), microfeed_feed_send_item_data(), microfeed_json_get_array(), microfeed_json_get_array_by_path(), microfeed_json_get_as_string(), microfeed_json_get_as_string_by_path(), microfeed_json_get_boolean(), microfeed_json_get_boolean_by_path(), microfeed_json_get_object(), microfeed_json_get_object_by_path(), microfeed_json_get_string(), microfeed_json_get_string_by_path(), microfeed_json_get_type(), microfeed_json_get_type_by_path(), microfeed_json_is_null(), microfeed_json_is_null_by_path(), microfeed_json_to_string(), microfeed_publisher_remove_subscriber(), microfeed_subscriber_handle_configured_subscriptions(), and microfeed_subscriber_subscribe_feed().
#define microfeed_store_get_index | ( | s, | |||
i, | |||||
t | ) | ((t*)microfeed_store_get_index_impl(s, i)) |
Definition at line 45 of file microfeedstore.h.
Referenced by microfeed_json_compare_members(), microfeed_json_get_array_by_index(), microfeed_json_get_as_string_by_index(), microfeed_json_get_boolean_by_index(), microfeed_json_get_name_by_index(), microfeed_json_get_object_by_index(), microfeed_json_get_string_by_index(), microfeed_json_get_type_by_index(), microfeed_json_is_null_by_index(), and microfeed_json_to_string_by_index().
#define microfeed_store_iterator_get | ( | i, | |||
t | ) | ((t*)microfeed_store_iterator_get_impl(i)) |
Definition at line 62 of file microfeedstore.h.
Referenced by microfeed_json_to_string(), microfeed_publisher_remove_subscriber(), and microfeed_subscriber_handle_configured_subscriptions().
#define microfeed_store_remove_index | ( | s, | |||
i, | |||||
t | ) | ((t*)microfeed_store_remove_index_impl(s, i)) |
Definition at line 54 of file microfeedstore.h.
#define microfeed_store_remove_key | ( | s, | |||
k, | |||||
t | ) | ((t*)microfeed_store_remove_key_impl(s, k)) |
Definition at line 52 of file microfeedstore.h.
#define microfeed_store_replace | ( | s, | |||
d, | |||||
t | ) | ((t*)microfeed_store_replace_impl(s, d)) |
Definition at line 49 of file microfeedstore.h.
Referenced by microfeed_json_set_boolean(), microfeed_json_set_null(), microfeed_json_set_object(), and microfeed_json_set_string().
typedef struct _MicrofeedStore MicrofeedStore |
Opaque data type representing an array that grows automatically when items are added.
Definition at line 20 of file microfeedstore.h.
typedef int(* MicrofeedStoreCompareDatasFunction)(const void *data1, const void *data2, unsigned int index1, unsigned int index2, void *user_data) |
Definition at line 34 of file microfeedstore.h.
typedef int(* MicrofeedStoreCompareKeysFunction)(const void *key1, const void *key2) |
Definition at line 31 of file microfeedstore.h.
typedef void(* MicrofeedStoreForeachFunction)(void *data, void *user_data) |
Definition at line 33 of file microfeedstore.h.
typedef void(* MicrofeedStoreFreeDataFunction)(void *data) |
Definition at line 35 of file microfeedstore.h.
typedef const void*(* MicrofeedStoreGetKeyFunction)(const void *item) |
Definition at line 32 of file microfeedstore.h.
typedef struct _MicrofeedStoreIterator MicrofeedStoreIterator |
Opaque data type representing an array iterator that traverses over the elements of the array.
Definition at line 25 of file microfeedstore.h.
int microfeed_store_compare_keys_direct | ( | const void * | key1, | |
const void * | key2 | |||
) |
Definition at line 325 of file microfeedstore.c.
Referenced by microfeed_feed_send_item_data(), microfeed_publisher_new(), and microfeed_thread_pool_new_with_exit_callback().
void microfeed_store_foreach | ( | MicrofeedStore * | store, | |
MicrofeedStoreForeachFunction | foreach, | |||
void * | user_data | |||
) |
Definition at line 69 of file microfeedstore.c.
References _MicrofeedStore::data, and _MicrofeedStore::size.
Referenced by microfeed_json_free().
void microfeed_store_free | ( | MicrofeedStore * | store | ) |
Definition at line 51 of file microfeedstore.c.
References _MicrofeedStore::data, _MicrofeedStore::iterators, _MicrofeedStoreIterator::next, _MicrofeedStore::reserved, _MicrofeedStore::size, and _MicrofeedStoreIterator::store.
Referenced by microfeed_configuration_free(), microfeed_json_free(), and microfeed_publisher_free().
void* microfeed_store_get_impl | ( | MicrofeedStore * | store, | |
const void * | key | |||
) |
void* microfeed_store_get_index_impl | ( | MicrofeedStore * | store, | |
unsigned int | index | |||
) |
const void* microfeed_store_get_key_direct | ( | const void * | data | ) |
Definition at line 330 of file microfeedstore.c.
Referenced by microfeed_feed_send_item_data(), and microfeed_thread_pool_new_with_exit_callback().
unsigned int microfeed_store_get_size | ( | MicrofeedStore * | store | ) |
Definition at line 98 of file microfeedstore.c.
References _MicrofeedStore::size.
Referenced by microfeed_json_get_size(), microfeed_publisher_remove_subscriber(), microfeed_subscriber_unsubscribe_feed(), and microfeed_thread_pool_get_waiting_thread_count().
int microfeed_store_insert | ( | MicrofeedStore * | store, | |
void * | data | |||
) |
Definition at line 103 of file microfeedstore.c.
References _MicrofeedStore::data, DELTA, _MicrofeedStore::get_key, _MicrofeedStoreIterator::index, _MicrofeedStore::iterators, _MicrofeedStoreIterator::next, _MicrofeedStore::reserved, and _MicrofeedStore::size.
Referenced by microfeed_database_environment_get_database(), microfeed_feed_send_item_data(), microfeed_json_append_boolean(), microfeed_json_append_null(), microfeed_json_append_object(), microfeed_json_append_string(), microfeed_provider_add_publisher(), microfeed_publisher_new(), and microfeed_thread_pool_queue_thread_with_exit_callback().
int microfeed_store_is_sorted | ( | MicrofeedStore * | store | ) |
Definition at line 64 of file microfeedstore.c.
References _MicrofeedStore::unsorted.
Referenced by microfeed_json_get_array(), microfeed_json_get_object(), microfeed_json_get_type(), microfeed_json_is_array(), and microfeed_json_to_string().
MicrofeedStoreIterator* microfeed_store_iterate | ( | MicrofeedStore * | store, | |
const void * | start_key | |||
) |
Definition at line 252 of file microfeedstore.c.
References _MicrofeedStoreIterator::index, _MicrofeedStore::iterators, microfeed_memory_allocate, _MicrofeedStoreIterator::next, _MicrofeedStoreIterator::previous, _MicrofeedStore::size, and _MicrofeedStoreIterator::store.
Referenced by microfeed_json_to_string(), microfeed_publisher_remove_subscriber(), and microfeed_subscriber_handle_configured_subscriptions().
void microfeed_store_iterator_free | ( | MicrofeedStoreIterator * | iterator | ) |
Definition at line 295 of file microfeedstore.c.
References _MicrofeedStoreIterator::current_data, _MicrofeedStore::iterators, microfeed_memory_free(), _MicrofeedStoreIterator::next, _MicrofeedStoreIterator::previous, and _MicrofeedStoreIterator::store.
Referenced by microfeed_json_to_string().
void* microfeed_store_iterator_get_impl | ( | MicrofeedStoreIterator * | iterator | ) |
Definition at line 310 of file microfeedstore.c.
References _MicrofeedStoreIterator::current_data, _MicrofeedStore::data, _MicrofeedStoreIterator::index, _MicrofeedStore::size, and _MicrofeedStoreIterator::store.
void microfeed_store_iterator_next | ( | MicrofeedStoreIterator * | iterator | ) |
Definition at line 318 of file microfeedstore.c.
References _MicrofeedStoreIterator::current_data, _MicrofeedStoreIterator::index, _MicrofeedStore::size, and _MicrofeedStoreIterator::store.
Referenced by microfeed_json_to_string(), microfeed_publisher_remove_subscriber(), and microfeed_subscriber_handle_configured_subscriptions().
MicrofeedStore* microfeed_store_new_sorted | ( | MicrofeedStoreCompareKeysFunction | compare_keys, | |
MicrofeedStoreGetKeyFunction | get_key | |||
) |
Definition at line 32 of file microfeedstore.c.
References _MicrofeedStore::compare_keys, _MicrofeedStore::get_key, and microfeed_memory_allocate.
Referenced by microfeed_configuration_new(), microfeed_database_environment_new(), microfeed_feed_new(), microfeed_feed_send_item_data(), microfeed_json_new_object(), microfeed_provider_new(), microfeed_publisher_new(), microfeed_store_new_unsorted(), and microfeed_subscriber_new().
MicrofeedStore* microfeed_store_new_unsorted | ( | MicrofeedStoreCompareKeysFunction | compare_keys, | |
MicrofeedStoreGetKeyFunction | get_key | |||
) |
Definition at line 42 of file microfeedstore.c.
References microfeed_store_new_sorted(), and _MicrofeedStore::unsorted.
Referenced by microfeed_json_new_array(), and microfeed_thread_pool_new_with_exit_callback().
int microfeed_store_remove | ( | MicrofeedStore * | store, | |
const void * | data | |||
) |
Definition at line 157 of file microfeedstore.c.
References _MicrofeedStore::data, DELTA, _MicrofeedStore::get_key, _MicrofeedStoreIterator::index, _MicrofeedStore::iterators, _MicrofeedStoreIterator::next, _MicrofeedStore::reserved, and _MicrofeedStore::size.
Referenced by microfeed_database_free(), microfeed_provider_remove_publisher(), and microfeed_publisher_remove_subscriber().
void microfeed_store_remove_and_free_all | ( | MicrofeedStore * | store, | |
MicrofeedStoreFreeDataFunction | free_data | |||
) |
Definition at line 241 of file microfeedstore.c.
References _MicrofeedStore::data, DELTA, _MicrofeedStore::reserved, and _MicrofeedStore::size.
Referenced by microfeed_configuration_invalidate().
void* microfeed_store_remove_index_impl | ( | MicrofeedStore * | store, | |
unsigned int | index | |||
) |
Definition at line 214 of file microfeedstore.c.
References _MicrofeedStore::data, DELTA, _MicrofeedStoreIterator::index, _MicrofeedStore::iterators, _MicrofeedStoreIterator::next, _MicrofeedStore::reserved, and _MicrofeedStore::size.
void* microfeed_store_remove_key_impl | ( | MicrofeedStore * | store, | |
const void * | key | |||
) |
Definition at line 186 of file microfeedstore.c.
References _MicrofeedStore::data, DELTA, _MicrofeedStoreIterator::index, _MicrofeedStore::iterators, _MicrofeedStoreIterator::next, _MicrofeedStore::reserved, and _MicrofeedStore::size.
void* microfeed_store_replace_impl | ( | MicrofeedStore * | store, | |
void * | data | |||
) |
Definition at line 133 of file microfeedstore.c.
References _MicrofeedStore::data, DELTA, _MicrofeedStore::get_key, _MicrofeedStore::reserved, and _MicrofeedStore::size.
void microfeed_store_sort | ( | MicrofeedStore * | store, | |
MicrofeedStoreCompareDatasFunction | compare_datas, | |||
void * | user_data | |||
) |
Definition at line 279 of file microfeedstore.c.
References _MicrofeedStore::data, _MicrofeedStore::size, and _MicrofeedStore::unsorted.
Referenced by microfeed_json_sort_array().