$darkmode
Libical API Documentation 4.0 STABLE VERSION Visit the v3.0 documentation
icalbdbset.c 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.

Macros

#define DB_VERSION_MAJOR   1
 
#define MAX_RETRY   5
 

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 dbtype, 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 *comp)
 
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)
 
struct icalbdbset_id icalbdbset_get_id (const icalcomponent *comp)
 
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_in)
 
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)
 

Detailed Description

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

Definition in file icalbdbset.c.

Function Documentation

DB* icalbdbset_bdb_open_secondary ( DB *  dbp,
const char *  database,
const char *  sub_database,
int(*)(DB *db, const DBT *dbt1, const DBT *dbt2, DBT *dbt3)  callback,
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.

void icalbdbset_clear ( icalset *  set)

Clear the gauge

Definition at line 1000 of file icalbdbset.c.

icalerrorenum icalbdbset_commit ( icalset *  set)

Write changes out to the database file.

Definition at line 703 of file icalbdbset.c.

icalcomponent* icalbdbset_get_current_component ( icalset *  set)

Iterate through components.

Definition at line 1205 of file icalbdbset.c.

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

Initialize the db environment

Definition at line 52 of file icalbdbset.c.

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

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.

const char* icalbdbset_path ( icalset *  set)

Returns the path of the database file

Definition at line 684 of file icalbdbset.c.

icalerrorenum icalbdbset_select ( icalset *  set,
icalgauge *  gauge 
)

Sets the gauge

Definition at line 986 of file icalbdbset.c.