21#include "libical_icalss_export.h"
28enum icalbdbset_subdb_type
29{ ICALBDB_CALENDARS, ICALBDB_EVENTS, ICALBDB_TODOS, ICALBDB_REMINDERS };
30typedef enum icalbdbset_subdb_type icalbdbset_subdb_type;
33LIBICAL_ICALSS_EXPORT
int icalbdbset_init_dbenv(
char *db_env_dir,
34 void (*logDbFunc) (
const DB_ENV *,
35 const char *,
const char *));
37LIBICAL_ICALSS_EXPORT icalset *icalbdbset_init(icalset *set,
const char *dsn,
void *options);
39LIBICAL_ICALSS_EXPORT
int icalbdbset_cleanup(
void);
41LIBICAL_ICALSS_EXPORT
void icalbdbset_checkpoint(
void);
43LIBICAL_ICALSS_EXPORT
void icalbdbset_rmdbLog(
void);
47LIBICAL_ICALSS_EXPORT icalset *icalbdbset_new(
const char *database_filename,
48 icalbdbset_subdb_type subdb_type,
49 int dbtype, u_int32_t flag);
51LIBICAL_ICALSS_EXPORT DB *icalbdbset_bdb_open_secondary(DB *dbp,
54 int (*callback) (DB *db,
57 DBT *dbt3),
int type);
59LIBICAL_ICALSS_EXPORT
char *icalbdbset_parse_data(DBT *dbt,
char *(*pfunc) (
const DBT *dbt));
61LIBICAL_ICALSS_EXPORT
void icalbdbset_free(icalset *set);
64LIBICAL_ICALSS_EXPORT
int icalbdbset_acquire_cursor(DB *dbp, DB_TXN *tid, DBC ** rdbcp);
66LIBICAL_ICALSS_EXPORT
int icalbdbset_cget(DBC *dbcp, DBT *key, DBT *data,
67 u_int32_t access_method);
69LIBICAL_ICALSS_EXPORT
int icalbdbset_cput(DBC *dbcp, DBT *key, DBT *data,
70 u_int32_t access_method);
72LIBICAL_ICALSS_EXPORT
int icalbdbset_get_first(DBC *dbcp, DBT *key, DBT *data);
74LIBICAL_ICALSS_EXPORT
int icalbdbset_get_next(DBC *dbcp, DBT *key, DBT *data);
76LIBICAL_ICALSS_EXPORT
int icalbdbset_get_last(DBC *dbcp, DBT *key, DBT *data);
78LIBICAL_ICALSS_EXPORT
int icalbdbset_get_key(DBC *dbcp, DBT *key, DBT *data);
80LIBICAL_ICALSS_EXPORT
int icalbdbset_delete(DB *dbp, DBT *key);
82LIBICAL_ICALSS_EXPORT
int icalbdbset_put(DB *dbp, DBT *key, DBT *data, u_int32_t access_method);
84LIBICAL_ICALSS_EXPORT
int icalbdbset_get(DB *dbp, DB_TXN *tid, DBT *key, DBT *data,
87LIBICAL_ICALSS_EXPORT
const char *icalbdbset_path(icalset *set);
89LIBICAL_ICALSS_EXPORT
const char *icalbdbset_subdb(icalset *set);
93LIBICAL_ICALSS_EXPORT
void icalbdbset_mark(icalset *set);
95LIBICAL_ICALSS_EXPORT
icalerrorenum icalbdbset_commit(icalset *set);
97LIBICAL_ICALSS_EXPORT
icalerrorenum icalbdbset_add_component(icalset *set, icalcomponent *child);
99LIBICAL_ICALSS_EXPORT
icalerrorenum icalbdbset_remove_component(icalset *set,
100 icalcomponent *child);
102LIBICAL_ICALSS_EXPORT
int icalbdbset_count_components(icalset *set, icalcomponent_kind kind);
106LIBICAL_ICALSS_EXPORT
icalerrorenum icalbdbset_select(icalset *store, icalgauge *gauge);
108LIBICAL_ICALSS_EXPORT
void icalbdbset_clear(icalset *store);
111LIBICAL_ICALSS_EXPORT icalcomponent *icalbdbset_fetch(icalset *set,
112 icalcomponent_kind kind,
const char *uid);
114LIBICAL_ICALSS_EXPORT
int icalbdbset_has_uid(icalset *set,
const char *uid);
116LIBICAL_ICALSS_EXPORT icalcomponent *icalbdbset_fetch_match(icalset *set, icalcomponent *c);
118LIBICAL_ICALSS_EXPORT
icalerrorenum icalbdbset_modify(icalset *set, icalcomponent *old,
119 icalcomponent *newc);
122LIBICAL_ICALSS_EXPORT
icalerrorenum icalbdbset_set_cluster(icalset *set, icalcomponent *cluster);
124LIBICAL_ICALSS_EXPORT
icalerrorenum icalbdbset_free_cluster(icalset *set);
126LIBICAL_ICALSS_EXPORT icalcomponent *icalbdbset_get_cluster(icalset *set);
131LIBICAL_ICALSS_EXPORT icalcomponent *icalbdbset_get_current_component(icalset *set);
133LIBICAL_ICALSS_EXPORT icalcomponent *icalbdbset_get_first_component(icalset *set);
135LIBICAL_ICALSS_EXPORT icalcomponent *icalbdbset_get_next_component(icalset *set);
138LIBICAL_ICALSS_EXPORT
icalsetiter icalbdbset_begin_component(icalset *set,
139 icalcomponent_kind kind,
140 icalgauge *gauge,
const char *tzid);
142LIBICAL_ICALSS_EXPORT icalcomponent *icalbdbset_form_a_matched_recurrence_component(
icalsetiter *
145LIBICAL_ICALSS_EXPORT icalcomponent *icalbdbsetiter_to_next(icalset *set,
icalsetiter *i);
147LIBICAL_ICALSS_EXPORT icalcomponent *icalbdbsetiter_to_prior(icalset *set,
icalsetiter *i);
152LIBICAL_ICALSS_EXPORT icalcomponent *icalbdbset_get_component(icalset *set);
154LIBICAL_ICALSS_EXPORT DB_ENV *icalbdbset_get_env(
void);
156LIBICAL_ICALSS_EXPORT
int icalbdbset_begin_transaction(DB_TXN *parent_id, DB_TXN ** txnid);
158LIBICAL_ICALSS_EXPORT
int icalbdbset_commit_transaction(DB_TXN *txnid);
160LIBICAL_ICALSS_EXPORT DB *icalbdbset_bdb_open(
const char *path,
162 int type,
int mode, u_int32_t flag);
170 char *(*pfunc) (
const DBT *dbt);
172 int (*callback) (DB *db,
174 const DBT *dbt1,
const DBT *dbt2, DBT *dbt3);
icalerrorenum
Represents the different types of errors that can be triggered in libical.
Definition icalerror.h:76
Definition icalbdbsetimpl.h:28
Definition icalbdbset.h:165
int dbtype
Definition icalbdbset.h:167
u_int32_t flag
Definition icalbdbset.h:169
icalbdbset_subdb_type subdb
Definition icalbdbset.h:166
int mode
Definition icalbdbset.h:168