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_NEW (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 50 of file microfeeditem.h.
MICROFEED_ITEM_PERMISSION_NONE | |
MICROFEED_ITEM_PERMISSION_MODIFY | |
MICROFEED_ITEM_PERMISSION_REMOVE | |
MICROFEED_ITEM_PERMISSION_REPLY |
Definition at line 62 of file microfeeditem.h.
enum MicrofeedItemStatus |
MICROFEED_ITEM_STATUS_NONE | |
MICROFEED_ITEM_STATUS_ACTIVE | |
MICROFEED_ITEM_STATUS_UNREAD | |
MICROFEED_ITEM_STATUS_MARKED | |
MICROFEED_ITEM_STATUS_SET |
Definition at line 52 of file microfeeditem.h.
int microfeed_item_demarshal_properties | ( | MicrofeedItem * | item, | |
const void * | data, | |||
size_t | size | |||
) |
Definition at line 120 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(), microfeed_feed_remove_items(), microfeed_feed_replace_item(), and microfeed_feed_republish().
MicrofeedItem* microfeed_item_duplicate | ( | MicrofeedItem * | item | ) |
Definition at line 101 of file microfeeditem.c.
References _MicrofeedItem::buffer, _MicrofeedItem::buffer_size, microfeed_memory_allocate, _MicrofeedItem::properties, _MicrofeedItem::properties_length, _MicrofeedItem::properties_reserved, and _MicrofeedItem::uid.
void microfeed_item_free | ( | MicrofeedItem * | item | ) |
Definition at line 90 of file microfeeditem.c.
References _MicrofeedItem::buffer, microfeed_memory_free(), _MicrofeedItem::properties, and _MicrofeedItem::uid.
Referenced by microfeed_feed_remove_item(), microfeed_feed_remove_items(), microfeed_feed_replace_item(), microfeed_feed_republish(), 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 301 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 172 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 167 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 158 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 153 of file microfeeditem.c.
References _MicrofeedItem::uid.
Referenced by microfeed_feed_call_modify_item_callback(), microfeed_feed_replace_item(), microfeed_publisher_send_item_signal(), microfeed_subscriber_add_item(), and microfeed_subscriber_modify_item().
MicrofeedItemIterator* microfeed_item_iterate_properties | ( | MicrofeedItem * | item, | |
const char * | start_key | |||
) |
Definition at line 189 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(), microfeed_subscriber_add_item(), and microfeed_subscriber_modify_item().
void microfeed_item_iterator_free | ( | MicrofeedItemIterator * | iterator | ) |
Definition at line 420 of file microfeeditem.c.
References _MicrofeedItemIterator::item, _MicrofeedItem::iterators, microfeed_memory_free(), _MicrofeedItemIterator::next, and _MicrofeedItemIterator::previous.
Referenced by microfeed_publisher_send_item_signal(), microfeed_subscriber_add_item(), and microfeed_subscriber_modify_item().
int microfeed_item_iterator_get | ( | MicrofeedItemIterator * | iterator, | |
const char ** | key, | |||
const char ** | value | |||
) |
Definition at line 434 of file microfeeditem.c.
References _MicrofeedItem::buffer, _MicrofeedItemIterator::index, _MicrofeedItemIterator::item, _MicrofeedItem::properties, and _MicrofeedItem::properties_length.
Referenced by microfeed_publisher_send_item_signal(), microfeed_subscriber_add_item(), and microfeed_subscriber_modify_item().
void microfeed_item_iterator_next | ( | MicrofeedItemIterator * | iterator | ) |
Definition at line 448 of file microfeeditem.c.
References _MicrofeedItemIterator::index, _MicrofeedItemIterator::item, and _MicrofeedItem::properties_length.
Referenced by microfeed_publisher_send_item_signal(), microfeed_subscriber_add_item(), and microfeed_subscriber_modify_item().
void microfeed_item_marshal_properties | ( | MicrofeedItem * | item, | |
const void ** | data_pointer, | |||
size_t * | size_pointer | |||
) |
Definition at line 219 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 54 of file microfeeditem.c.
References microfeed_memory_allocate, _MicrofeedItem::timestamp, and _MicrofeedItem::uid.
Referenced by microfeed_feed_get_item(), microfeed_feed_iterator_get_item(), microfeed_feed_new(), microfeed_feed_ref_item_data(), microfeed_feed_remove_item(), microfeed_feed_remove_items(), microfeed_item_new_temporary(), microfeed_item_new_with_status(), and microfeed_publisher_add_setting().
MicrofeedItem* microfeed_item_new_temporary | ( | void | ) |
MicrofeedItem* microfeed_item_new_with_status | ( | const char * | uid, | |
time_t | timestamp, | |||
MicrofeedItemStatus | status | |||
) |
Definition at line 81 of file microfeeditem.c.
References microfeed_item_new(), MICROFEED_ITEM_STATUS_SET, and _MicrofeedItem::status.
Referenced by microfeed_feed_replace_item(), and microfeed_feed_republish().
MicrofeedItemPermission microfeed_item_permission_from_string | ( | const char * | string | ) |
Definition at line 378 of file microfeeditem.c.
References MICROFEED_ITEM_PERMISSION_MODIFY, MICROFEED_ITEM_PERMISSION_NONE, MICROFEED_ITEM_PERMISSION_REMOVE, and MICROFEED_ITEM_PERMISSION_REPLY.
char* microfeed_item_permission_to_string | ( | MicrofeedItemPermission | item_permission | ) |
Definition at line 399 of file microfeeditem.c.
References MICROFEED_ITEM_PERMISSION_MODIFY, MICROFEED_ITEM_PERMISSION_REMOVE, and MICROFEED_ITEM_PERMISSION_REPLY.
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 224 of file microfeeditem.c.
References microfeed_item_set_property_full().
Referenced by microfeed_feed_new(), 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 236 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(), microfeed_item_set_property(), and microfeed_item_set_property_with_length().
void microfeed_item_set_property_with_length | ( | MicrofeedItem * | item, | |
const char * | key, | |||
const char * | value, | |||
size_t | value_length | |||
) |
void microfeed_item_set_timestamp | ( | MicrofeedItem * | item, | |
time_t | timestamp | |||
) |