diff --git a/doc/devel/calendar/cal-client/evolution-cal-client-decl.txt b/doc/devel/calendar/cal-client/evolution-cal-client-decl.txt
new file mode 100644
index 0000000000..d2f3663315
--- /dev/null
+++ b/doc/devel/calendar/cal-client/evolution-cal-client-decl.txt
@@ -0,0 +1,301 @@
+
+CalClientChangeType
+typedef enum {
+ CAL_CLIENT_CHANGE_ADDED = 1 << 0,
+ CAL_CLIENT_CHANGE_MODIFIED = 1 << 1,
+ CAL_CLIENT_CHANGE_DELETED = 1 << 2
+} CalClientChangeType;
+
+
+cal_client_change_list_free
+void
+GList *list
+
+
+CAL_CLIENT_TYPE
+#define CAL_CLIENT_TYPE (cal_client_get_type ())
+
+
+CAL_CLIENT
+#define CAL_CLIENT(obj) (GTK_CHECK_CAST ((obj), CAL_CLIENT_TYPE, CalClient))
+
+
+CAL_CLIENT_CLASS
+#define CAL_CLIENT_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), CAL_CLIENT_TYPE, CalClientClass))
+
+
+IS_CAL_CLIENT
+#define IS_CAL_CLIENT(obj) (GTK_CHECK_TYPE ((obj), CAL_CLIENT_TYPE))
+
+
+IS_CAL_CLIENT_CLASS
+#define IS_CAL_CLIENT_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), CAL_CLIENT_TYPE))
+
+
+CalClient
+
+
+CalClientClass
+
+
+CalClientPrivate
+
+
+CalClientOpenStatus
+typedef enum {
+ CAL_CLIENT_OPEN_SUCCESS,
+ CAL_CLIENT_OPEN_ERROR,
+ CAL_CLIENT_OPEN_NOT_FOUND,
+ CAL_CLIENT_OPEN_METHOD_NOT_SUPPORTED
+} CalClientOpenStatus;
+
+
+CalClientGetStatus
+typedef enum {
+ CAL_CLIENT_GET_SUCCESS,
+ CAL_CLIENT_GET_NOT_FOUND,
+ CAL_CLIENT_GET_SYNTAX_ERROR
+} CalClientGetStatus;
+
+
+CalClientLoadState
+typedef enum {
+ CAL_CLIENT_LOAD_NOT_LOADED,
+ CAL_CLIENT_LOAD_LOADING,
+ CAL_CLIENT_LOAD_LOADED
+} CalClientLoadState;
+
+
+CalClient
+struct CalClient {
+ GtkObject object;
+
+ /* Private data */
+ CalClientPrivate *priv;
+};
+
+
+cal_client_get_type
+GtkType
+void
+
+
+cal_client_construct
+CalClient *
+CalClient *client
+
+
+cal_client_new
+CalClient *
+void
+
+
+cal_client_open_calendar
+gboolean
+CalClient *client, const char *str_uri, gboolean only_if_exists
+
+
+cal_client_get_load_state
+CalClientLoadState
+CalClient *client
+
+
+cal_client_get_uri
+const char *
+CalClient *client
+
+
+cal_client_get_n_objects
+int
+CalClient *client, CalObjType type
+
+
+cal_client_get_object
+CalClientGetStatus
+CalClient *client,const char *uid,CalComponent **comp
+
+
+cal_client_get_uids
+GList *
+CalClient *client, CalObjType type
+
+
+cal_client_get_changes
+GList *
+CalClient *client, CalObjType type, const char *change_id
+
+
+cal_client_get_objects_in_range
+GList *
+CalClient *client, CalObjType type,time_t start, time_t end
+
+
+cal_client_generate_instances
+void
+CalClient *client, CalObjType type,time_t start, time_t end,CalRecurInstanceFn cb, gpointer cb_data
+
+
+cal_client_get_alarms_in_range
+GSList *
+CalClient *client, time_t start, time_t end
+
+
+cal_client_free_alarms
+void
+GSList *comp_alarms
+
+
+cal_client_get_alarms_for_object
+gboolean
+CalClient *client, const char *uid,time_t start, time_t end,CalComponentAlarms **alarms
+
+
+cal_client_update_object
+gboolean
+CalClient *client, CalComponent *comp
+
+
+cal_client_remove_object
+gboolean
+CalClient *client, const char *uid
+
+
+cal_client_get_query
+CalQuery *
+CalClient *client, const char *sexp
+
+
+CAL_QUERY_TYPE
+#define CAL_QUERY_TYPE (cal_query_get_type ())
+
+
+CAL_QUERY
+#define CAL_QUERY(obj) (GTK_CHECK_CAST ((obj), CAL_QUERY_TYPE, CalQuery))
+
+
+CAL_QUERY_CLASS
+#define CAL_QUERY_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), CAL_QUERY_TYPE, CalQueryClass))
+
+
+IS_CAL_QUERY
+#define IS_CAL_QUERY(obj) (GTK_CHECK_TYPE ((obj), CAL_QUERY_TYPE))
+
+
+IS_CAL_QUERY_CLASS
+#define IS_CAL_QUERY_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), CAL_QUERY_TYPE))
+
+
+CalQueryDoneStatus
+typedef enum {
+ CAL_QUERY_DONE_SUCCESS,
+ CAL_QUERY_DONE_PARSE_ERROR
+} CalQueryDoneStatus;
+
+
+CalQueryPrivate
+
+
+CalQuery
+typedef struct {
+ GtkObject object;
+
+ /* Private data */
+ CalQueryPrivate *priv;
+} CalQuery;
+
+
+cal_query_get_type
+GtkType
+void
+
+
+cal_query_construct
+CalQuery *
+CalQuery *query,GNOME_Evolution_Calendar_Cal cal,const char *sexp
+
+
+cal_query_new
+CalQuery *
+GNOME_Evolution_Calendar_Cal cal,const char *sexp
+
+
+QUERY_LISTENER_TYPE
+#define QUERY_LISTENER_TYPE (query_listener_get_type ())
+
+
+QUERY_LISTENER
+#define QUERY_LISTENER(obj) (GTK_CHECK_CAST ((obj), QUERY_LISTENER_TYPE, QueryListener))
+
+
+QUERY_LISTENER_CLASS
+#define QUERY_LISTENER_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), QUERY_LISTENER_TYPE, \
+ QueryListenerClass))
+
+
+IS_QUERY_LISTENER
+#define IS_QUERY_LISTENER(obj) (GTK_CHECK_TYPE ((obj), QUERY_LISTENER_TYPE))
+
+
+IS_QUERY_LISTENER_CLASS
+#define IS_QUERY_LISTENER_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), QUERY_LISTENER_TYPE))
+
+
+QueryListenerPrivate
+
+
+QueryListener
+typedef struct {
+ BonoboXObject xobject;
+
+ /* Private data */
+ QueryListenerPrivate *priv;
+} QueryListener;
+
+
+QueryListenerObjUpdatedFn
+void
+QueryListener *ql,
+ const GNOME_Evolution_Calendar_CalObjUID uid,
+ CORBA_boolean query_in_progress,
+ CORBA_long n_scanned,
+ CORBA_long total,
+ gpointer data
+
+
+QueryListenerObjRemovedFn
+void
+QueryListener *ql,
+ const GNOME_Evolution_Calendar_CalObjUID uid,
+ gpointer data
+
+
+QueryListenerQueryDoneFn
+void
+
+ QueryListener *ql,
+ GNOME_Evolution_Calendar_QueryListener_QueryDoneStatus status,
+ const CORBA_char *error_str,
+ gpointer data
+
+
+QueryListenerEvalErrorFn
+void
+QueryListener *ql,
+ const CORBA_char *error_str,
+ gpointer data
+
+
+query_listener_get_type
+GtkType
+void
+
+
+query_listener_construct
+QueryListener *
+QueryListener *ql,QueryListenerObjUpdatedFn obj_updated_fn,QueryListenerObjRemovedFn obj_removed_fn,QueryListenerQueryDoneFn query_done_fn,QueryListenerEvalErrorFn eval_error_fn,gpointer fn_data
+
+
+query_listener_new
+QueryListener *
+QueryListenerObjUpdatedFn obj_updated_fn,QueryListenerObjRemovedFn obj_removed_fn,QueryListenerQueryDoneFn query_done_fn,QueryListenerEvalErrorFn eval_error_fn,gpointer fn_data
+
diff --git a/help/devel/calendar/cal-client/evolution-cal-client-decl.txt b/help/devel/calendar/cal-client/evolution-cal-client-decl.txt
new file mode 100644
index 0000000000..d2f3663315
--- /dev/null
+++ b/help/devel/calendar/cal-client/evolution-cal-client-decl.txt
@@ -0,0 +1,301 @@
+
+CalClientChangeType
+typedef enum {
+ CAL_CLIENT_CHANGE_ADDED = 1 << 0,
+ CAL_CLIENT_CHANGE_MODIFIED = 1 << 1,
+ CAL_CLIENT_CHANGE_DELETED = 1 << 2
+} CalClientChangeType;
+
+
+cal_client_change_list_free
+void
+GList *list
+
+
+CAL_CLIENT_TYPE
+#define CAL_CLIENT_TYPE (cal_client_get_type ())
+
+
+CAL_CLIENT
+#define CAL_CLIENT(obj) (GTK_CHECK_CAST ((obj), CAL_CLIENT_TYPE, CalClient))
+
+
+CAL_CLIENT_CLASS
+#define CAL_CLIENT_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), CAL_CLIENT_TYPE, CalClientClass))
+
+
+IS_CAL_CLIENT
+#define IS_CAL_CLIENT(obj) (GTK_CHECK_TYPE ((obj), CAL_CLIENT_TYPE))
+
+
+IS_CAL_CLIENT_CLASS
+#define IS_CAL_CLIENT_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), CAL_CLIENT_TYPE))
+
+
+CalClient
+
+
+CalClientClass
+
+
+CalClientPrivate
+
+
+CalClientOpenStatus
+typedef enum {
+ CAL_CLIENT_OPEN_SUCCESS,
+ CAL_CLIENT_OPEN_ERROR,
+ CAL_CLIENT_OPEN_NOT_FOUND,
+ CAL_CLIENT_OPEN_METHOD_NOT_SUPPORTED
+} CalClientOpenStatus;
+
+
+CalClientGetStatus
+typedef enum {
+ CAL_CLIENT_GET_SUCCESS,
+ CAL_CLIENT_GET_NOT_FOUND,
+ CAL_CLIENT_GET_SYNTAX_ERROR
+} CalClientGetStatus;
+
+
+CalClientLoadState
+typedef enum {
+ CAL_CLIENT_LOAD_NOT_LOADED,
+ CAL_CLIENT_LOAD_LOADING,
+ CAL_CLIENT_LOAD_LOADED
+} CalClientLoadState;
+
+
+CalClient
+struct CalClient {
+ GtkObject object;
+
+ /* Private data */
+ CalClientPrivate *priv;
+};
+
+
+cal_client_get_type
+GtkType
+void
+
+
+cal_client_construct
+CalClient *
+CalClient *client
+
+
+cal_client_new
+CalClient *
+void
+
+
+cal_client_open_calendar
+gboolean
+CalClient *client, const char *str_uri, gboolean only_if_exists
+
+
+cal_client_get_load_state
+CalClientLoadState
+CalClient *client
+
+
+cal_client_get_uri
+const char *
+CalClient *client
+
+
+cal_client_get_n_objects
+int
+CalClient *client, CalObjType type
+
+
+cal_client_get_object
+CalClientGetStatus
+CalClient *client,const char *uid,CalComponent **comp
+
+
+cal_client_get_uids
+GList *
+CalClient *client, CalObjType type
+
+
+cal_client_get_changes
+GList *
+CalClient *client, CalObjType type, const char *change_id
+
+
+cal_client_get_objects_in_range
+GList *
+CalClient *client, CalObjType type,time_t start, time_t end
+
+
+cal_client_generate_instances
+void
+CalClient *client, CalObjType type,time_t start, time_t end,CalRecurInstanceFn cb, gpointer cb_data
+
+
+cal_client_get_alarms_in_range
+GSList *
+CalClient *client, time_t start, time_t end
+
+
+cal_client_free_alarms
+void
+GSList *comp_alarms
+
+
+cal_client_get_alarms_for_object
+gboolean
+CalClient *client, const char *uid,time_t start, time_t end,CalComponentAlarms **alarms
+
+
+cal_client_update_object
+gboolean
+CalClient *client, CalComponent *comp
+
+
+cal_client_remove_object
+gboolean
+CalClient *client, const char *uid
+
+
+cal_client_get_query
+CalQuery *
+CalClient *client, const char *sexp
+
+
+CAL_QUERY_TYPE
+#define CAL_QUERY_TYPE (cal_query_get_type ())
+
+
+CAL_QUERY
+#define CAL_QUERY(obj) (GTK_CHECK_CAST ((obj), CAL_QUERY_TYPE, CalQuery))
+
+
+CAL_QUERY_CLASS
+#define CAL_QUERY_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), CAL_QUERY_TYPE, CalQueryClass))
+
+
+IS_CAL_QUERY
+#define IS_CAL_QUERY(obj) (GTK_CHECK_TYPE ((obj), CAL_QUERY_TYPE))
+
+
+IS_CAL_QUERY_CLASS
+#define IS_CAL_QUERY_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), CAL_QUERY_TYPE))
+
+
+CalQueryDoneStatus
+typedef enum {
+ CAL_QUERY_DONE_SUCCESS,
+ CAL_QUERY_DONE_PARSE_ERROR
+} CalQueryDoneStatus;
+
+
+CalQueryPrivate
+
+
+CalQuery
+typedef struct {
+ GtkObject object;
+
+ /* Private data */
+ CalQueryPrivate *priv;
+} CalQuery;
+
+
+cal_query_get_type
+GtkType
+void
+
+
+cal_query_construct
+CalQuery *
+CalQuery *query,GNOME_Evolution_Calendar_Cal cal,const char *sexp
+
+
+cal_query_new
+CalQuery *
+GNOME_Evolution_Calendar_Cal cal,const char *sexp
+
+
+QUERY_LISTENER_TYPE
+#define QUERY_LISTENER_TYPE (query_listener_get_type ())
+
+
+QUERY_LISTENER
+#define QUERY_LISTENER(obj) (GTK_CHECK_CAST ((obj), QUERY_LISTENER_TYPE, QueryListener))
+
+
+QUERY_LISTENER_CLASS
+#define QUERY_LISTENER_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), QUERY_LISTENER_TYPE, \
+ QueryListenerClass))
+
+
+IS_QUERY_LISTENER
+#define IS_QUERY_LISTENER(obj) (GTK_CHECK_TYPE ((obj), QUERY_LISTENER_TYPE))
+
+
+IS_QUERY_LISTENER_CLASS
+#define IS_QUERY_LISTENER_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), QUERY_LISTENER_TYPE))
+
+
+QueryListenerPrivate
+
+
+QueryListener
+typedef struct {
+ BonoboXObject xobject;
+
+ /* Private data */
+ QueryListenerPrivate *priv;
+} QueryListener;
+
+
+QueryListenerObjUpdatedFn
+void
+QueryListener *ql,
+ const GNOME_Evolution_Calendar_CalObjUID uid,
+ CORBA_boolean query_in_progress,
+ CORBA_long n_scanned,
+ CORBA_long total,
+ gpointer data
+
+
+QueryListenerObjRemovedFn
+void
+QueryListener *ql,
+ const GNOME_Evolution_Calendar_CalObjUID uid,
+ gpointer data
+
+
+QueryListenerQueryDoneFn
+void
+
+ QueryListener *ql,
+ GNOME_Evolution_Calendar_QueryListener_QueryDoneStatus status,
+ const CORBA_char *error_str,
+ gpointer data
+
+
+QueryListenerEvalErrorFn
+void
+QueryListener *ql,
+ const CORBA_char *error_str,
+ gpointer data
+
+
+query_listener_get_type
+GtkType
+void
+
+
+query_listener_construct
+QueryListener *
+QueryListener *ql,QueryListenerObjUpdatedFn obj_updated_fn,QueryListenerObjRemovedFn obj_removed_fn,QueryListenerQueryDoneFn query_done_fn,QueryListenerEvalErrorFn eval_error_fn,gpointer fn_data
+
+
+query_listener_new
+QueryListener *
+QueryListenerObjUpdatedFn obj_updated_fn,QueryListenerObjRemovedFn obj_removed_fn,QueryListenerQueryDoneFn query_done_fn,QueryListenerEvalErrorFn eval_error_fn,gpointer fn_data
+