Libical API Documentation 3.0

Data Structures | Typedefs | Enumerations | Functions | Variables
icalset.h File Reference

Go to the source code of this file.

## Data Structures
struct | icalset_impl
struct | icalsetiter

## Typedefs
typedef struct icalset_impl | icalset
typedef enum icalset_kind | icalset_kind
typedef struct icalsetiter | icalsetiter

## Enumerations
enum | icalset_kind { ICAL_FILE_SET , ICAL_DIR_SET , ICAL_BDB_SET }

## Functions
icalerrorenum | icalset_add_component (icalset *set, icalcomponent *comp)
icalsetiter | icalset_begin_component (icalset *set, icalcomponent_kind kind, icalgauge *gauge, const char *tzid)
icalerrorenum | icalset_commit (icalset *set)
int | icalset_count_components (icalset *set, icalcomponent_kind kind)
icalcomponent * | icalset_fetch (icalset *set, const char *uid)
icalcomponent * | icalset_fetch_match (icalset *set, icalcomponent *c)
void | icalset_free (icalset *set)
icalcomponent * | icalset_get_current_component (icalset *set)
icalcomponent * | icalset_get_first_component (icalset *set)
icalcomponent * | icalset_get_next_component (icalset *set)
int | icalset_has_uid (icalset *set, const char *uid)
void | icalset_mark (icalset *set)
icalerrorenum | icalset_modify (icalset *set, icalcomponent *oldc, icalcomponent *newc)
icalset * | icalset_new (icalset_kind kind, const char *dsn, void *options)
| Generic icalset constructor. More...
icalset * | icalset_new_dir (const char *path)
icalset * | icalset_new_file (const char *path)
icalset * | icalset_new_file_reader (const char *path)
icalset * | icalset_new_file_writer (const char *path)
const char * | icalset_path (icalset *set)
int | icalset_register_class (icalset *set)
| Registers a new derived class.
icalerrorenum | icalset_remove_component (icalset *set, icalcomponent *comp)
icalerrorenum | icalset_select (icalset *set, icalgauge *gauge)
icalcomponent * | icalsetiter_deref (icalsetiter *i)
icalcomponent * | icalsetiter_next (icalsetiter *i)
icalcomponent * | icalsetiter_prior (icalsetiter *i)
icalcomponent * | icalsetiter_to_next (icalset *set, icalsetiter *i)
icalcomponent * | icalsetiter_to_prior (icalset *set, icalsetiter *i)

## Variables
icalsetiter | icalsetiter_null

## Detailed Description

Author
  eric 28 November 1999

Icalset is the "base class" for representations of a collection of iCal components. Derived classes (actually delegatees) include:

icalfileset Store components in a single file icaldirset Store components in multiple files in a directory icalbdbset Store components in a Berkeley DB File icalheapset Store components on the heap icalmysqlset Store components in a mysql database.

## Function Documentation

## ◆ icalset_commit()

icalerrorenum icalset_commit | ( | icalset * | set | ) |

Writes changes to disk immediately

## ◆ icalset_fetch()

icalcomponent * icalset_fetch | ( | icalset * | set,
|  | const char * | uid
| ) |  |

Gets a component by uid

## ◆ icalset_free()

void icalset_free | ( | icalset * | set | ) |

Frees the memory associated with this icalset automatically calls the implementation specific free routine

## ◆ icalset_get_current_component()

icalcomponent * icalset_get_current_component | ( | icalset * | set | ) |

Iterates through the components. If a guage has been defined, these will skip over components that do not pass the gauge

## ◆ icalset_mark()

void icalset_mark | ( | icalset * | set | ) |

Marks the cluster as changed, so it will be written to disk when it is freed.

## ◆ icalset_modify()

icalerrorenum icalset_modify | ( | icalset * | set,
|  | icalcomponent * | oldc,
|  | icalcomponent * | newc
| ) |  |

Modifies components according to the MODIFY method of CAP. Works on the currently selected components.

## ◆ icalset_new()

icalset * icalset_new | ( | icalset_kind | kind,
|  | const char * | dsn,
|  | void * | options
| ) |  |

Generic icalset constructor.

Parameters

  kind | The type of icalset to create
  dsn | Data Source Name - usually a pathname or DB handle
  options | Any implementation specific options

Returns
  A valid icalset reference or NULL if error.

This creates any of the icalset types available.

unimplemented

call the implementation specific initializer

## ◆ icalset_select()

icalerrorenum icalset_select | ( | icalset * | set,
|  | icalgauge * | gauge
| ) |  |

Restricts the component returned by icalset_first, _next to those that pass the gauge.

## ◆ icalsetiter_next()

icalcomponent * icalsetiter_next | ( | icalsetiter * | i | ) |

Default _next, _prior, _deref for subclasses that use single cluster

## ◆ icalsetiter_to_next()

icalcomponent * icalsetiter_to_next | ( | icalset * | set,
|  | icalsetiter * | i
| ) |  |

for subclasses that use multiple clusters that require specialized cluster traversal

## Variable Documentation

## ◆ icalsetiter_null

icalsetiter icalsetiter_null
| extern

External Iterator with gauge - for thread safety