Libical API Documentation
3.0
|
icaldirset manages a database of ical components and offers interfaces for reading, writing and searching for components. More...
Functions | |
icalerrorenum | icaldirset_add_component (icalset *set, icalcomponent *comp) |
static void | icaldirset_add_uid (icalcomponent *comp) |
icalsetiter | icaldirset_begin_component (icalset *set, icalcomponent_kind kind, icalgauge *gauge, const char *tzid) |
void | icaldirset_clear (icalset *set) |
icalerrorenum | icaldirset_commit (icalset *set) |
int | icaldirset_count_components (icalset *store, icalcomponent_kind kind) |
icalcomponent * | icaldirset_fetch (icalset *set, icalcomponent_kind kind, const char *uid) |
icalcomponent * | icaldirset_fetch_match (icalset *set, icalcomponent *c) |
void | icaldirset_free (icalset *s) |
icalcomponent * | icaldirset_get_current_component (icalset *set) |
icalcomponent * | icaldirset_get_first_component (icalset *set) |
icalcomponent * | icaldirset_get_next_component (icalset *set) |
int | icaldirset_has_uid (icalset *set, const char *uid) |
icalset * | icaldirset_init (icalset *set, const char *dir, void *options_in) |
static void | icaldirset_lock (const char *dir) |
void | icaldirset_mark (icalset *set) |
icalerrorenum | icaldirset_modify (icalset *set, icalcomponent *old, icalcomponent *new) |
icalset * | icaldirset_new (const char *dir) |
icalset * | icaldirset_new_reader (const char *dir) |
icalset * | icaldirset_new_writer (const char *dir) |
static icalerrorenum | icaldirset_next_cluster (icaldirset *dset) |
const char * | icaldirset_path (icalset *set) |
static icalerrorenum | icaldirset_read_directory (icaldirset *dset) |
icalerrorenum | icaldirset_remove_component (icalset *set, icalcomponent *comp) |
icalerrorenum | icaldirset_select (icalset *set, icalgauge *gauge) |
static void | icaldirset_unlock (const char *dir) |
icalcomponent * | icaldirsetiter_to_next (icalset *set, icalsetiter *i) |
icalcomponent * | icaldirsetiter_to_prior (icalset *set, icalsetiter *i) |
Variables | |
static icaldirset_options | icaldirset_options_default = { O_RDWR | O_CREAT } |
icaldirset manages a database of ical components and offers interfaces for reading, writing and searching for components.
icaldirset groups components in to clusters based on their DTSTAMP time – all components that start in the same month are grouped together in a single file. All files in a sotre are kept in a single directory.
The primary interfaces are icaldirset__get_first_component and icaldirset_get_next_component. These routine iterate through all of the components in the store, subject to the current gauge. A gauge is an icalcomponent that is tested against other componets for a match. If a gauge has been set with icaldirset_select, icaldirset_first and icaldirset_next will only return componentes that match the gauge.
The Store generated UIDs for all objects that are stored if they do not already have a UID. The UID is the name of the cluster (month & year as MMYYYY) plus a unique serial number. The serial number is stored as a property of the cluster.
icalerrorenum icaldirset_add_component | ( | icalset * | set, |
icalcomponent * | comp | ||
) |
This assumes that the top level component is a VCALENDAR, and there is an inner component of type VEVENT, VTODO or VJOURNAL. The inner component must have a DSTAMP property
icalerrorenum icaldirset_remove_component | ( | icalset * | set, |
icalcomponent * | comp | ||
) |
Remove a component in the current cluster. HACK. This routine is a "friend" of icalfileset, and breaks its encapsulation. It was either do it this way, or add several layers of interfaces that had no other use.
|
static |
Default options used when NULL is passed to icalset_new()