Libical API Documentation 4.0 UNRELEASED Go to the stable 3.0 documentation
Loading...
Searching...
No Matches
icalcluster.h File Reference

Defines the data structure for calendar clusters. More...

Go to the source code of this file.

Typedefs

typedef struct icalcluster_impl icalcluster

Functions

icalerrorenum icalcluster_add_component (icalcluster *cluster, icalcomponent *child)
icalcluster * icalcluster_clone (const icalcluster *old)
 Deep clone an icalcluster to a new one.
void icalcluster_commit (icalcluster *cluster)
int icalcluster_count_components (icalcluster *cluster, icalcomponent_kind kind)
void icalcluster_free (icalcluster *cluster)
icalcomponent * icalcluster_get_component (const icalcluster *cluster)
icalcomponent * icalcluster_get_current_component (icalcluster *cluster)
 Iterate through components.
icalcomponent * icalcluster_get_first_component (icalcluster *cluster)
icalcomponent * icalcluster_get_next_component (icalcluster *cluster)
int icalcluster_is_changed (const icalcluster *cluster)
const char * icalcluster_key (const icalcluster *cluster)
void icalcluster_mark (icalcluster *cluster)
icalcluster * icalcluster_new (const char *key, icalcomponent *data)
 Create a cluster with a key/value pair.
icalerrorenum icalcluster_remove_component (icalcluster *cluster, icalcomponent *child)

Detailed Description

Defines the data structure for calendar clusters.

This is a utility class designed to manage clusters of icalcomponents on behalf of an implementation of icalset. This is done in order to split out common behavior different classes might need.

The definition of what exactly a cluster will contain depends on the icalset subclass. At the basic level, an icluster is just a tuple, with anything as key and an icalcomponent as value.

Definition in file icalcluster.h.

Typedef Documentation

◆ icalcluster

typedef struct icalcluster_impl icalcluster

Definition at line 29 of file icalcluster.h.

Function Documentation

◆ icalcluster_add_component()

icalerrorenum icalcluster_add_component ( icalcluster * cluster,
icalcomponent * child )

Definition at line 148 of file icalcluster.c.

◆ icalcluster_clone()

icalcluster * icalcluster_clone ( const icalcluster * old)

Deep clone an icalcluster to a new one.

Deeply clone an icalcluster. Returns a pointer to the memory for the newly cloned icalcluster.

Since
4.0

Definition at line 70 of file icalcluster.c.

◆ icalcluster_commit()

void icalcluster_commit ( icalcluster * cluster)

Definition at line 124 of file icalcluster.c.

◆ icalcluster_count_components()

int icalcluster_count_components ( icalcluster * cluster,
icalcomponent_kind kind )

Definition at line 170 of file icalcluster.c.

◆ icalcluster_free()

void icalcluster_free ( icalcluster * cluster)

Definition at line 84 of file icalcluster.c.

◆ icalcluster_get_component()

icalcomponent * icalcluster_get_component ( const icalcluster * cluster)

Definition at line 131 of file icalcluster.c.

◆ icalcluster_get_current_component()

icalcomponent * icalcluster_get_current_component ( icalcluster * cluster)

Iterate through components.

Definition at line 179 of file icalcluster.c.

◆ icalcluster_get_first_component()

icalcomponent * icalcluster_get_first_component ( icalcluster * cluster)

Definition at line 186 of file icalcluster.c.

◆ icalcluster_get_next_component()

icalcomponent * icalcluster_get_next_component ( icalcluster * cluster)

Definition at line 193 of file icalcluster.c.

◆ icalcluster_is_changed()

int icalcluster_is_changed ( const icalcluster * cluster)

Definition at line 110 of file icalcluster.c.

◆ icalcluster_key()

const char * icalcluster_key ( const icalcluster * cluster)

Definition at line 103 of file icalcluster.c.

◆ icalcluster_mark()

void icalcluster_mark ( icalcluster * cluster)

Definition at line 117 of file icalcluster.c.

◆ icalcluster_new()

icalcluster * icalcluster_new ( const char * key,
icalcomponent * data )

Create a cluster with a key/value pair.

Definition at line 39 of file icalcluster.c.

◆ icalcluster_remove_component()

icalerrorenum icalcluster_remove_component ( icalcluster * cluster,
icalcomponent * child )

Definition at line 159 of file icalcluster.c.