MicrofeedItem is not thread-safe, so keep one item in one thread only. However, usually the lifetime of an item is short, so there is even no need to access an item from multiple threads. Thus, there is no reference counting available. If you have to access the same item content in multiple threads, use microfeed_item_duplicate.
#define MICROFEED_ITEM_STATUS_ALL (MICROFEED_ITEM_STATUS_ACTIVE | MICROFEED_ITEM_STATUS_UNREAD) |
typedef struct _MicrofeedItem MicrofeedItem |
typedef struct _MicrofeedItemIterator MicrofeedItemIterator |
Opaque data type representing Microfeed item iterator that iterates over the properties of the item.
Definition at line 28 of file microfeeditem.h.
enum MicrofeedItemStatus |
MICROFEED_ITEM_STATUS_NONE | |
MICROFEED_ITEM_STATUS_ACTIVE | |
MICROFEED_ITEM_STATUS_UNREAD | |
MICROFEED_ITEM_STATUS_SET |
Definition at line 30 of file microfeeditem.h.
int microfeed_item_demarshal_properties | ( | MicrofeedItem * | item, | |
const void * | data, | |||
size_t | size | |||
) |
Definition at line 93 of file microfeeditem.c.
References _MicrofeedItem::buffer, _MicrofeedItem::buffer_size, _MicrofeedItem::properties, _MicrofeedItem::properties_length, and _MicrofeedItem::properties_reserved.
Referenced by microfeed_feed_get_item(), microfeed_feed_iterator_get_item(), microfeed_feed_remove_item(), and microfeed_feed_replace_item().
MicrofeedItem* microfeed_item_duplicate | ( | MicrofeedItem * | item | ) |
Definition at line 74 of file microfeeditem.c.
References _MicrofeedItem::buffer, _MicrofeedItem::buffer_size, microfeed_memory_allocate, _MicrofeedItem::properties, _MicrofeedItem::properties_length, _MicrofeedItem::properties_reserved, and _MicrofeedItem::uid.
Referenced by microfeed_feed_call_modify_item_callback().
void microfeed_item_free | ( | MicrofeedItem * | item | ) |
Definition at line 65 of file microfeeditem.c.
References _MicrofeedItem::buffer, microfeed_memory_free(), _MicrofeedItem::properties, and _MicrofeedItem::uid.
Referenced by microfeed_feed_add_new_setting(), microfeed_feed_remove_item(), microfeed_feed_replace_item(), microfeed_publisher_get_setting_value(), microfeed_publisher_get_setting_value_integer(), and microfeed_publisher_set_setting_value().
char* microfeed_item_get_properties_as_string | ( | MicrofeedItem * | item | ) |
Definition at line 266 of file microfeeditem.c.
References _MicrofeedItem::buffer, _MicrofeedItem::buffer_size, microfeed_memory_allocate_bytes(), _MicrofeedItem::properties, and _MicrofeedItem::properties_length.
const char* microfeed_item_get_property | ( | MicrofeedItem * | item, | |
const char * | key | |||
) |
Definition at line 145 of file microfeeditem.c.
References _MicrofeedItem::buffer, and _MicrofeedItem::properties.
Referenced by microfeed_publisher_add_setting(), microfeed_publisher_get_setting_value(), microfeed_publisher_get_setting_value_integer(), and microfeed_publisher_handle_item_property_change().
MicrofeedItemStatus microfeed_item_get_status | ( | MicrofeedItem * | item | ) |
Definition at line 140 of file microfeeditem.c.
References _MicrofeedItem::status.
Referenced by microfeed_publisher_send_item_signal().
time_t microfeed_item_get_timestamp | ( | MicrofeedItem * | item | ) |
Definition at line 131 of file microfeeditem.c.
References _MicrofeedItem::timestamp.
Referenced by microfeed_feed_ref_item_data(), microfeed_feed_replace_item(), and microfeed_publisher_send_item_signal().
const char* microfeed_item_get_uid | ( | MicrofeedItem * | item | ) |
Definition at line 126 of file microfeeditem.c.
References _MicrofeedItem::uid.
Referenced by microfeed_feed_replace_item(), microfeed_publisher_add_setting(), microfeed_publisher_send_item_signal(), and microfeed_subscriber_add_item().
MicrofeedItemIterator* microfeed_item_iterate_properties | ( | MicrofeedItem * | item, | |
const char * | start_key | |||
) |
Definition at line 162 of file microfeeditem.c.
References _MicrofeedItemIterator::index, _MicrofeedItemIterator::item, _MicrofeedItem::iterators, microfeed_memory_allocate, _MicrofeedItemIterator::next, _MicrofeedItemIterator::previous, and _MicrofeedItem::properties_length.
Referenced by microfeed_publisher_send_item_signal(), and microfeed_subscriber_add_item().
void microfeed_item_iterator_free | ( | MicrofeedItemIterator * | iterator | ) |
Definition at line 342 of file microfeeditem.c.
References _MicrofeedItemIterator::item, _MicrofeedItem::iterators, microfeed_memory_free(), _MicrofeedItemIterator::next, and _MicrofeedItemIterator::previous.
Referenced by microfeed_publisher_send_item_signal(), and microfeed_subscriber_add_item().
int microfeed_item_iterator_get | ( | MicrofeedItemIterator * | iterator, | |
const char ** | key, | |||
const char ** | value | |||
) |
Definition at line 356 of file microfeeditem.c.
References _MicrofeedItem::buffer, _MicrofeedItemIterator::index, _MicrofeedItemIterator::item, _MicrofeedItem::properties, and _MicrofeedItem::properties_length.
Referenced by microfeed_publisher_send_item_signal(), and microfeed_subscriber_add_item().
void microfeed_item_iterator_next | ( | MicrofeedItemIterator * | iterator | ) |
Definition at line 370 of file microfeeditem.c.
References _MicrofeedItemIterator::index, _MicrofeedItemIterator::item, and _MicrofeedItem::properties_length.
Referenced by microfeed_publisher_send_item_signal(), and microfeed_subscriber_add_item().
void microfeed_item_marshal_properties | ( | MicrofeedItem * | item, | |
const void ** | data_pointer, | |||
size_t * | size_pointer | |||
) |
Definition at line 192 of file microfeeditem.c.
References _MicrofeedItem::buffer, and _MicrofeedItem::buffer_size.
Referenced by microfeed_feed_ref_item_data(), and microfeed_feed_replace_item().
MicrofeedItem* microfeed_item_new | ( | const char * | uid, | |
time_t | timestamp | |||
) |
Definition at line 44 of file microfeeditem.c.
References microfeed_item_new_empty(), _MicrofeedItem::timestamp, and _MicrofeedItem::uid.
Referenced by microfeed_feed_add_new_setting(), microfeed_feed_get_item(), microfeed_feed_iterator_get_item(), microfeed_feed_ref_item_data(), microfeed_feed_remove_item(), microfeed_feed_replace_item(), and microfeed_item_new_with_status().
MicrofeedItem* microfeed_item_new_empty | ( | void | ) |
Definition at line 35 of file microfeeditem.c.
References microfeed_memory_allocate.
Referenced by microfeed_item_new().
MicrofeedItem* microfeed_item_new_with_status | ( | const char * | uid, | |
time_t | timestamp, | |||
MicrofeedItemStatus | status | |||
) |
Definition at line 56 of file microfeeditem.c.
References microfeed_item_new(), MICROFEED_ITEM_STATUS_SET, and _MicrofeedItem::status.
int microfeed_item_set_properties_from_string | ( | MicrofeedItem * | item, | |
const char * | string | |||
) |
void microfeed_item_set_property | ( | MicrofeedItem * | item, | |
const char * | key, | |||
const char * | value | |||
) |
Definition at line 197 of file microfeeditem.c.
References microfeed_item_set_property_full().
Referenced by microfeed_feed_add_new_setting(), microfeed_publisher_add_setting(), and microfeed_publisher_set_setting_value().
void microfeed_item_set_property_full | ( | MicrofeedItem * | item, | |
const char * | key, | |||
size_t | key_length, | |||
const char * | value, | |||
size_t | value_length | |||
) |
Definition at line 201 of file microfeeditem.c.
References _MicrofeedItem::buffer, _MicrofeedItem::buffer_size, _MicrofeedItem::properties, _MicrofeedItem::properties_length, and _MicrofeedItem::properties_reserved.
Referenced by microfeed_item_set_properties_from_string(), and microfeed_item_set_property().
void microfeed_item_set_timestamp | ( | MicrofeedItem * | item, | |
time_t | timestamp | |||
) |