MicrofeedItem
[libmicrofeed-common - Common modules used both in the publisher and in the subscriber side]

An item in a feed. More...

Defines

#define MICROFEED_ITEM_STATUS_NEW   (MICROFEED_ITEM_STATUS_ACTIVE | MICROFEED_ITEM_STATUS_UNREAD)

Typedefs

typedef struct _MicrofeedItem MicrofeedItem
 Opaque data type representing Microfeed item.
typedef struct
_MicrofeedItemIterator 
MicrofeedItemIterator
 Opaque data type representing Microfeed item iterator that iterates over the properties of the item.

Enumerations

enum  MicrofeedItemStatus {
  MICROFEED_ITEM_STATUS_NONE = 0, MICROFEED_ITEM_STATUS_ACTIVE = 1 << 0, MICROFEED_ITEM_STATUS_UNREAD = 1 << 1, MICROFEED_ITEM_STATUS_MARKED = 1 << 2,
  MICROFEED_ITEM_STATUS_SET = 1 << 7
}
enum  MicrofeedItemPermission { MICROFEED_ITEM_PERMISSION_NONE = 0, MICROFEED_ITEM_PERMISSION_MODIFY = 1 << 0, MICROFEED_ITEM_PERMISSION_REMOVE = 1 << 1, MICROFEED_ITEM_PERMISSION_REPLY = 1 << 2 }

Functions

MicrofeedItemmicrofeed_item_new_temporary (void)
MicrofeedItemmicrofeed_item_new (const char *uid, time_t timestamp)
MicrofeedItemmicrofeed_item_new_with_status (const char *uid, time_t timestamp, MicrofeedItemStatus status)
void microfeed_item_free (MicrofeedItem *item)
MicrofeedItemmicrofeed_item_duplicate (MicrofeedItem *item)
int microfeed_item_demarshal_properties (MicrofeedItem *item, const void *data, size_t size)
const char * microfeed_item_get_uid (MicrofeedItem *item)
time_t microfeed_item_get_timestamp (MicrofeedItem *item)
void microfeed_item_set_timestamp (MicrofeedItem *item, time_t timestamp)
MicrofeedItemStatus microfeed_item_get_status (MicrofeedItem *item)
const char * microfeed_item_get_property (MicrofeedItem *item, const char *key)
MicrofeedItemIteratormicrofeed_item_iterate_properties (MicrofeedItem *item, const char *start_key)
void microfeed_item_marshal_properties (MicrofeedItem *item, const void **data_pointer, size_t *size_pointer)
void microfeed_item_set_property (MicrofeedItem *item, const char *key, const char *value)
void microfeed_item_set_property_with_length (MicrofeedItem *item, const char *key, const char *value, size_t value_length)
void microfeed_item_set_property_full (MicrofeedItem *item, const char *key, size_t key_length, const char *value, size_t value_length)
char * microfeed_item_get_properties_as_string (MicrofeedItem *item)
int microfeed_item_set_properties_from_string (MicrofeedItem *item, const char *string)
MicrofeedItemPermission microfeed_item_permission_from_string (const char *string)
char * microfeed_item_permission_to_string (MicrofeedItemPermission item_permission)
void microfeed_item_iterator_free (MicrofeedItemIterator *iterator)
int microfeed_item_iterator_get (MicrofeedItemIterator *iterator, const char **key, const char **value)
void microfeed_item_iterator_next (MicrofeedItemIterator *iterator)

Detailed Description

An item in a feed.

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 Documentation

#define MICROFEED_ITEM_STATUS_NEW   (MICROFEED_ITEM_STATUS_ACTIVE | MICROFEED_ITEM_STATUS_UNREAD)

Definition at line 41 of file microfeeditem.h.

Referenced by microfeed_feed_replace_item().


Typedef Documentation

typedef struct _MicrofeedItem MicrofeedItem

Opaque data type representing Microfeed item.

Definition at line 26 of file microfeeditem.h.

Opaque data type representing Microfeed item iterator that iterates over the properties of the item.

Definition at line 31 of file microfeeditem.h.


Enumeration Type Documentation

Enumerator:
MICROFEED_ITEM_PERMISSION_NONE 
MICROFEED_ITEM_PERMISSION_MODIFY 
MICROFEED_ITEM_PERMISSION_REMOVE 
MICROFEED_ITEM_PERMISSION_REPLY 

Definition at line 43 of file microfeeditem.h.

Enumerator:
MICROFEED_ITEM_STATUS_NONE 
MICROFEED_ITEM_STATUS_ACTIVE 
MICROFEED_ITEM_STATUS_UNREAD 
MICROFEED_ITEM_STATUS_MARKED 
MICROFEED_ITEM_STATUS_SET 

Definition at line 33 of file microfeeditem.h.


Function Documentation

int microfeed_item_demarshal_properties ( MicrofeedItem item,
const void *  data,
size_t  size 
)

MicrofeedItem* microfeed_item_duplicate ( MicrofeedItem item  ) 

void microfeed_item_free ( MicrofeedItem item  ) 

char* microfeed_item_get_properties_as_string ( MicrofeedItem item  ) 

const char* microfeed_item_get_property ( MicrofeedItem item,
const char *  key 
)

MicrofeedItemStatus microfeed_item_get_status ( MicrofeedItem item  ) 

Definition at line 149 of file microfeeditem.c.

References _MicrofeedItem::status.

Referenced by microfeed_publisher_send_item_signal().

time_t microfeed_item_get_timestamp ( MicrofeedItem item  ) 

const char* microfeed_item_get_uid ( MicrofeedItem item  ) 

MicrofeedItemIterator* microfeed_item_iterate_properties ( MicrofeedItem item,
const char *  start_key 
)

void microfeed_item_iterator_free ( MicrofeedItemIterator iterator  ) 

int microfeed_item_iterator_get ( MicrofeedItemIterator iterator,
const char **  key,
const char **  value 
)

void microfeed_item_iterator_next ( MicrofeedItemIterator iterator  ) 

void microfeed_item_marshal_properties ( MicrofeedItem item,
const void **  data_pointer,
size_t *  size_pointer 
)

MicrofeedItem* microfeed_item_new ( const char *  uid,
time_t  timestamp 
)

MicrofeedItem* microfeed_item_new_temporary ( void   ) 

Definition at line 48 of file microfeeditem.c.

References microfeed_item_new().

MicrofeedItem* microfeed_item_new_with_status ( const char *  uid,
time_t  timestamp,
MicrofeedItemStatus  status 
)

MicrofeedItemPermission microfeed_item_permission_from_string ( const char *  string  ) 

char* microfeed_item_permission_to_string ( MicrofeedItemPermission  item_permission  ) 

int microfeed_item_set_properties_from_string ( MicrofeedItem item,
const char *  string 
)

Definition at line 310 of file microfeeditem.c.

References microfeed_item_set_property_full().

void microfeed_item_set_property ( MicrofeedItem item,
const char *  key,
const char *  value 
)

void microfeed_item_set_property_full ( MicrofeedItem item,
const char *  key,
size_t  key_length,
const char *  value,
size_t  value_length 
)

void microfeed_item_set_property_with_length ( MicrofeedItem item,
const char *  key,
const char *  value,
size_t  value_length 
)

Definition at line 214 of file microfeeditem.c.

References microfeed_item_set_property_full().

void microfeed_item_set_timestamp ( MicrofeedItem item,
time_t  timestamp 
)

Definition at line 145 of file microfeeditem.c.

References _MicrofeedItem::timestamp.


Generated on Fri Jun 26 21:48:57 2009 for Microfeed by  doxygen 1.5.6