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

Manages a Berkeley database of ical components and offers interfaces for reading, writing and searching for components. More...

Go to the source code of this file.

Typedefs

typedef struct icalbdbset_impl icalbdbset
typedef enum icalbdbset_subdb_type icalbdbset_subdb_type

Enumerations

enum  icalbdbset_subdb_type { ICALBDB_CALENDARS , ICALBDB_EVENTS , ICALBDB_TODOS , ICALBDB_REMINDERS }

Functions

int icalbdbset_acquire_cursor (DB *dbp, DB_TXN *tid, DBC **rdbcp)
icalerrorenum icalbdbset_add_component (icalset *set, icalcomponent *child)
DB * icalbdbset_bdb_open (const char *path, const char *subdb, int type, int mode, u_int32_t flag)
DB * icalbdbset_bdb_open_secondary (DB *dbp, const char *database, const char *sub_database, int(*callback)(DB *db, const DBT *dbt1, const DBT *dbt2, DBT *dbt3), int type)
icalsetiter icalbdbset_begin_component (icalset *set, icalcomponent_kind kind, icalgauge *gauge, const char *tzid)
int icalbdbset_begin_transaction (DB_TXN *parent_id, DB_TXN **txnid)
int icalbdbset_cget (DBC *dbcp, DBT *key, DBT *data, u_int32_t access_method)
void icalbdbset_checkpoint (void)
int icalbdbset_cleanup (void)
void icalbdbset_clear (icalset *set)
icalerrorenum icalbdbset_commit (icalset *set)
int icalbdbset_commit_transaction (DB_TXN *txnid)
int icalbdbset_count_components (icalset *set, icalcomponent_kind kind)
int icalbdbset_cput (DBC *dbcp, DBT *key, DBT *data, u_int32_t access_method)
int icalbdbset_delete (DB *dbp, DBT *key)
icalcomponent * icalbdbset_fetch (icalset *set, icalcomponent_kind kind, const char *uid)
icalcomponent * icalbdbset_fetch_match (icalset *set, const icalcomponent *c)
icalcomponent * icalbdbset_form_a_matched_recurrence_component (icalsetiter *itr)
void icalbdbset_free (icalset *set)
icalerrorenum icalbdbset_free_cluster (icalset *set)
int icalbdbset_get (DB *dbp, DB_TXN *tid, DBT *key, DBT *data, u_int32_t flags)
icalcomponent * icalbdbset_get_cluster (icalset *set)
icalcomponent * icalbdbset_get_component (icalset *set)
icalcomponent * icalbdbset_get_current_component (icalset *set)
DB_ENV * icalbdbset_get_env (void)
int icalbdbset_get_first (DBC *dbcp, DBT *key, DBT *data)
icalcomponent * icalbdbset_get_first_component (icalset *set)
int icalbdbset_get_key (DBC *dbcp, DBT *key, DBT *data)
int icalbdbset_get_last (DBC *dbcp, DBT *key, DBT *data)
int icalbdbset_get_next (DBC *dbcp, DBT *key, DBT *data)
icalcomponent * icalbdbset_get_next_component (icalset *set)
int icalbdbset_has_uid (icalset *set, const char *uid)
icalset * icalbdbset_init (icalset *set, const char *dsn, void *options)
int icalbdbset_init_dbenv (char *db_env_dir, void(*logDbFunc)(const DB_ENV *, const char *, const char *))
void icalbdbset_mark (icalset *set)
icalerrorenum icalbdbset_modify (icalset *set, icalcomponent *old, icalcomponent *newc)
icalset * icalbdbset_new (const char *database_filename, icalbdbset_subdb_type subdb_type, int dbtype, u_int32_t flag)
char * icalbdbset_parse_data (DBT *dbt, char *(*pfunc)(const DBT *dbt))
const char * icalbdbset_path (icalset *set)
int icalbdbset_put (DB *dbp, DBT *key, DBT *data, u_int32_t access_method)
icalerrorenum icalbdbset_remove_component (icalset *set, icalcomponent *child)
void icalbdbset_rmdbLog (void)
icalerrorenum icalbdbset_select (icalset *set, icalgauge *gauge)
icalerrorenum icalbdbset_set_cluster (icalset *set, icalcomponent *cluster)
const char * icalbdbset_subdb (icalset *set)
icalcomponent * icalbdbsetiter_to_next (icalset *set, icalsetiter *i)
icalcomponent * icalbdbsetiter_to_prior (icalset *set, icalsetiter *i)

Detailed Description

Manages a Berkeley database of ical components and offers interfaces for reading, writing and searching for components.

Definition in file icalbdbset.h.

Typedef Documentation

◆ icalbdbset

typedef struct icalbdbset_impl icalbdbset

Definition at line 23 of file icalbdbset.h.

◆ icalbdbset_subdb_type

typedef enum icalbdbset_subdb_type icalbdbset_subdb_type

Definition at line 32 of file icalbdbset.h.

Enumeration Type Documentation

◆ icalbdbset_subdb_type

enum icalbdbset_subdb_type

Definition at line 25 of file icalbdbset.h.

Function Documentation

◆ icalbdbset_acquire_cursor()

int icalbdbset_acquire_cursor ( DB * dbp,
DB_TXN * tid,
DBC ** rdbcp )

Definition at line 491 of file icalbdbset.c.

◆ icalbdbset_add_component()

icalerrorenum icalbdbset_add_component ( icalset * set,
icalcomponent * child )

Definition at line 943 of file icalbdbset.c.

◆ icalbdbset_bdb_open()

DB * icalbdbset_bdb_open ( const char * path,
const char * subdb,
int type,
int mode,
u_int32_t flag )

Definition at line 400 of file icalbdbset.c.

◆ icalbdbset_bdb_open_secondary()

DB * icalbdbset_bdb_open_secondary ( DB * dbp,
const char * database,
const char * sub_database,
int(* callback )(DB *db, const DBT *dbt1, const DBT *dbt2, DBT *dbt3),
int type )

Open a secondary database, used for accessing secondary indices. The callback function tells icalbdbset how to associate secondary key information with primary data. See the BerkeleyDB reference guide for more information.

Definition at line 350 of file icalbdbset.c.

◆ icalbdbset_begin_component()

icalsetiter icalbdbset_begin_component ( icalset * set,
icalcomponent_kind kind,
icalgauge * gauge,
const char * tzid )

Definition at line 1237 of file icalbdbset.c.

◆ icalbdbset_begin_transaction()

int icalbdbset_begin_transaction ( DB_TXN * parent_id,
DB_TXN ** txnid )

Definition at line 1586 of file icalbdbset.c.

◆ icalbdbset_cget()

int icalbdbset_cget ( DBC * dbcp,
DBT * key,
DBT * data,
u_int32_t access_method )

Definition at line 585 of file icalbdbset.c.

◆ icalbdbset_checkpoint()

void icalbdbset_checkpoint ( void )

Definition at line 103 of file icalbdbset.c.

◆ icalbdbset_cleanup()

int icalbdbset_cleanup ( void )

Definition at line 134 of file icalbdbset.c.

◆ icalbdbset_clear()

void icalbdbset_clear ( icalset * set)

Clear the gauge

Definition at line 1000 of file icalbdbset.c.

◆ icalbdbset_commit()

icalerrorenum icalbdbset_commit ( icalset * set)

Write changes out to the database file.

Definition at line 703 of file icalbdbset.c.

◆ icalbdbset_commit_transaction()

int icalbdbset_commit_transaction ( DB_TXN * txnid)

Definition at line 1591 of file icalbdbset.c.

◆ icalbdbset_count_components()

int icalbdbset_count_components ( icalset * set,
icalcomponent_kind kind )

Definition at line 971 of file icalbdbset.c.

◆ icalbdbset_cput()

int icalbdbset_cput ( DBC * dbcp,
DBT * key,
DBT * data,
u_int32_t access_method )

Definition at line 601 of file icalbdbset.c.

◆ icalbdbset_delete()

int icalbdbset_delete ( DB * dbp,
DBT * key )

Definition at line 527 of file icalbdbset.c.

◆ icalbdbset_fetch()

icalcomponent * icalbdbset_fetch ( icalset * set,
icalcomponent_kind kind,
const char * uid )

Definition at line 1009 of file icalbdbset.c.

◆ icalbdbset_fetch_match()

icalcomponent * icalbdbset_fetch_match ( icalset * set,
const icalcomponent * c )

Definition at line 1132 of file icalbdbset.c.

◆ icalbdbset_form_a_matched_recurrence_component()

icalcomponent * icalbdbset_form_a_matched_recurrence_component ( icalsetiter * itr)

Definition at line 1362 of file icalbdbset.c.

◆ icalbdbset_free()

void icalbdbset_free ( icalset * set)

Definition at line 458 of file icalbdbset.c.

◆ icalbdbset_free_cluster()

icalerrorenum icalbdbset_free_cluster ( icalset * set)

Definition at line 1183 of file icalbdbset.c.

◆ icalbdbset_get()

int icalbdbset_get ( DB * dbp,
DB_TXN * tid,
DBT * key,
DBT * data,
u_int32_t flags )

Definition at line 676 of file icalbdbset.c.

◆ icalbdbset_get_cluster()

icalcomponent * icalbdbset_get_cluster ( icalset * set)

Definition at line 1195 of file icalbdbset.c.

◆ icalbdbset_get_component()

icalcomponent * icalbdbset_get_component ( icalset * set)

Definition at line 932 of file icalbdbset.c.

◆ icalbdbset_get_current_component()

icalcomponent * icalbdbset_get_current_component ( icalset * set)

Iterate through components.

Definition at line 1205 of file icalbdbset.c.

◆ icalbdbset_get_env()

DB_ENV * icalbdbset_get_env ( void )

Definition at line 151 of file icalbdbset.c.

◆ icalbdbset_get_first()

int icalbdbset_get_first ( DBC * dbcp,
DBT * key,
DBT * data )

Definition at line 507 of file icalbdbset.c.

◆ icalbdbset_get_first_component()

icalcomponent * icalbdbset_get_first_component ( icalset * set)

Definition at line 1214 of file icalbdbset.c.

◆ icalbdbset_get_key()

int icalbdbset_get_key ( DBC * dbcp,
DBT * key,
DBT * data )

Definition at line 522 of file icalbdbset.c.

◆ icalbdbset_get_last()

int icalbdbset_get_last ( DBC * dbcp,
DBT * key,
DBT * data )

Definition at line 517 of file icalbdbset.c.

◆ icalbdbset_get_next()

int icalbdbset_get_next ( DBC * dbcp,
DBT * key,
DBT * data )

Definition at line 512 of file icalbdbset.c.

◆ icalbdbset_get_next_component()

icalcomponent * icalbdbset_get_next_component ( icalset * set)

Definition at line 1568 of file icalbdbset.c.

◆ icalbdbset_has_uid()

int icalbdbset_has_uid ( icalset * set,
const char * uid )

Definition at line 1048 of file icalbdbset.c.

◆ icalbdbset_init()

icalset * icalbdbset_init ( icalset * set,
const char * dsn,
void * options )

Definition at line 279 of file icalbdbset.c.

◆ icalbdbset_init_dbenv()

int icalbdbset_init_dbenv ( char * db_env_dir,
void(* logDbFunc )(const DB_ENV *, const char *, const char *) )

sets up the db environment, should be done in parent thread..

Initialize the db environment

Definition at line 52 of file icalbdbset.c.

◆ icalbdbset_mark()

void icalbdbset_mark ( icalset * set)

Definition at line 923 of file icalbdbset.c.

◆ icalbdbset_modify()

icalerrorenum icalbdbset_modify ( icalset * set,
icalcomponent * old,
icalcomponent * newc )

Definition at line 1163 of file icalbdbset.c.

◆ icalbdbset_new()

icalset * icalbdbset_new ( const char * database_filename,
icalbdbset_subdb_type subdb_type,
int dbtype,
u_int32_t flag )

Creates a component handle. flags allows caller to specify if database is internally a BTREE or HASH

open a database and return a reference to it. Used only for opening the primary index. flag = set_flag() DUP | DUP_SORT

Definition at line 330 of file icalbdbset.c.

◆ icalbdbset_parse_data()

char * icalbdbset_parse_data ( DBT * dbt,
char *(* pfunc )(const DBT *dbt) )

Definition at line 444 of file icalbdbset.c.

◆ icalbdbset_path()

const char * icalbdbset_path ( icalset * set)

Returns the path of the database file

Definition at line 684 of file icalbdbset.c.

◆ icalbdbset_put()

int icalbdbset_put ( DB * dbp,
DBT * key,
DBT * data,
u_int32_t access_method )

Definition at line 619 of file icalbdbset.c.

◆ icalbdbset_remove_component()

icalerrorenum icalbdbset_remove_component ( icalset * set,
icalcomponent * child )

Definition at line 957 of file icalbdbset.c.

◆ icalbdbset_rmdbLog()

void icalbdbset_rmdbLog ( void )

Definition at line 116 of file icalbdbset.c.

◆ icalbdbset_select()

icalerrorenum icalbdbset_select ( icalset * set,
icalgauge * gauge )

Sets the gauge

Definition at line 986 of file icalbdbset.c.

◆ icalbdbset_set_cluster()

icalerrorenum icalbdbset_set_cluster ( icalset * set,
icalcomponent * cluster )

Definition at line 1173 of file icalbdbset.c.

◆ icalbdbset_subdb()

const char * icalbdbset_subdb ( icalset * set)

Definition at line 691 of file icalbdbset.c.

◆ icalbdbsetiter_to_next()

icalcomponent * icalbdbsetiter_to_next ( icalset * set,
icalsetiter * i )

Definition at line 1459 of file icalbdbset.c.