<ENUM>
<NAME>CalClientChangeType</NAME>
typedef enum {
	CAL_CLIENT_CHANGE_ADDED = 1 << 0,
	CAL_CLIENT_CHANGE_MODIFIED = 1 << 1,
	CAL_CLIENT_CHANGE_DELETED = 1 << 2
} CalClientChangeType;
</ENUM>
<FUNCTION>
<NAME>cal_client_change_list_free</NAME>
<RETURNS>void  </RETURNS>
GList *list
</FUNCTION>
<MACRO>
<NAME>CAL_CLIENT_TYPE</NAME>
#define CAL_CLIENT_TYPE            (cal_client_get_type ())
</MACRO>
<MACRO>
<NAME>CAL_CLIENT</NAME>
#define CAL_CLIENT(obj)            (GTK_CHECK_CAST ((obj), CAL_CLIENT_TYPE, CalClient))
</MACRO>
<MACRO>
<NAME>CAL_CLIENT_CLASS</NAME>
#define CAL_CLIENT_CLASS(klass)    (GTK_CHECK_CLASS_CAST ((klass), CAL_CLIENT_TYPE, CalClientClass))
</MACRO>
<MACRO>
<NAME>IS_CAL_CLIENT</NAME>
#define IS_CAL_CLIENT(obj)         (GTK_CHECK_TYPE ((obj), CAL_CLIENT_TYPE))
</MACRO>
<MACRO>
<NAME>IS_CAL_CLIENT_CLASS</NAME>
#define IS_CAL_CLIENT_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), CAL_CLIENT_TYPE))
</MACRO>
<STRUCT>
<NAME>CalClient</NAME>
</STRUCT>
<STRUCT>
<NAME>CalClientClass</NAME>
</STRUCT>
<STRUCT>
<NAME>CalClientPrivate</NAME>
</STRUCT>
<ENUM>
<NAME>CalClientOpenStatus</NAME>
typedef enum {
	CAL_CLIENT_OPEN_SUCCESS,
	CAL_CLIENT_OPEN_ERROR,
	CAL_CLIENT_OPEN_NOT_FOUND,
	CAL_CLIENT_OPEN_PERMISSION_DENIED,
	CAL_CLIENT_OPEN_METHOD_NOT_SUPPORTED
} CalClientOpenStatus;
</ENUM>
<ENUM>
<NAME>CalClientSetModeStatus</NAME>
typedef enum {
	CAL_CLIENT_SET_MODE_SUCCESS,
	CAL_CLIENT_SET_MODE_ERROR,
	CAL_CLIENT_SET_MODE_NOT_SUPPORTED
} CalClientSetModeStatus;
</ENUM>
<ENUM>
<NAME>CalClientGetStatus</NAME>
typedef enum {
	CAL_CLIENT_GET_SUCCESS,
	CAL_CLIENT_GET_NOT_FOUND,
	CAL_CLIENT_GET_SYNTAX_ERROR
} CalClientGetStatus;
</ENUM>
<ENUM>
<NAME>CalClientResult</NAME>
typedef enum {
	CAL_CLIENT_RESULT_SUCCESS,
	CAL_CLIENT_RESULT_CORBA_ERROR,
	CAL_CLIENT_RESULT_INVALID_OBJECT,
	CAL_CLIENT_RESULT_NOT_FOUND,
	CAL_CLIENT_RESULT_PERMISSION_DENIED
} CalClientResult;
</ENUM>
<ENUM>
<NAME>CalClientSendResult</NAME>
typedef enum {
	CAL_CLIENT_SEND_SUCCESS,
	CAL_CLIENT_SEND_CORBA_ERROR,
	CAL_CLIENT_SEND_INVALID_OBJECT,
	CAL_CLIENT_SEND_BUSY,
	CAL_CLIENT_SEND_PERMISSION_DENIED
} CalClientSendResult;
</ENUM>
<ENUM>
<NAME>CalClientLoadState</NAME>
typedef enum {
	CAL_CLIENT_LOAD_NOT_LOADED,
	CAL_CLIENT_LOAD_LOADING,
	CAL_CLIENT_LOAD_LOADED
} CalClientLoadState;
</ENUM>
<STRUCT>
<NAME>CalClient</NAME>
struct CalClient {
	GtkObject object;

	/* Private data */
	CalClientPrivate *priv;
};
</STRUCT>
<USER_FUNCTION>
<NAME>CalClientAuthFunc</NAME>
<RETURNS>gchar *</RETURNS>
CalClient *client,
                                      const gchar *prompt,
                                      const gchar *key,
                                      gpointer user_data
</USER_FUNCTION>
<FUNCTION>
<NAME>cal_client_get_type</NAME>
<RETURNS>GtkType  </RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>cal_client_construct</NAME>
<RETURNS>CalClient  *</RETURNS>
CalClient *client
</FUNCTION>
<FUNCTION>
<NAME>cal_client_new</NAME>
<RETURNS>CalClient  *</RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>cal_client_set_auth_func</NAME>
<RETURNS>void  </RETURNS>
CalClient *client, CalClientAuthFunc func, gpointer data
</FUNCTION>
<FUNCTION>
<NAME>cal_client_set_default_timezone</NAME>
<RETURNS>gboolean  </RETURNS>
CalClient *client, icaltimezone *zone
</FUNCTION>
<FUNCTION>
<NAME>cal_client_open_calendar</NAME>
<RETURNS>gboolean  </RETURNS>
CalClient *client, const char *str_uri, gboolean only_if_exists
</FUNCTION>
<FUNCTION>
<NAME>cal_client_open_default_calendar</NAME>
<RETURNS>gboolean  </RETURNS>
CalClient *client, gboolean only_if_exists
</FUNCTION>
<FUNCTION>
<NAME>cal_client_open_default_tasks</NAME>
<RETURNS>gboolean  </RETURNS>
CalClient *client, gboolean only_if_exists
</FUNCTION>
<FUNCTION>
<NAME>cal_client_uri_list</NAME>
<RETURNS>GList  *</RETURNS>
CalClient *client, CalMode mode
</FUNCTION>
<FUNCTION>
<NAME>cal_client_get_load_state</NAME>
<RETURNS>CalClientLoadState  </RETURNS>
CalClient *client
</FUNCTION>
<FUNCTION>
<NAME>cal_client_get_uri</NAME>
<RETURNS>const char  *</RETURNS>
CalClient *client
</FUNCTION>
<FUNCTION>
<NAME>cal_client_is_read_only</NAME>
<RETURNS>gboolean  </RETURNS>
CalClient *client
</FUNCTION>
<FUNCTION>
<NAME>cal_client_get_email_address</NAME>
<RETURNS>const char  *</RETURNS>
CalClient *client
</FUNCTION>
<FUNCTION>
<NAME>cal_client_set_mode</NAME>
<RETURNS>gboolean  </RETURNS>
CalClient *client, CalMode mode
</FUNCTION>
<FUNCTION>
<NAME>cal_client_get_n_objects</NAME>
<RETURNS>int  </RETURNS>
CalClient *client, CalObjType type
</FUNCTION>
<FUNCTION>
<NAME>cal_client_get_object</NAME>
<RETURNS>CalClientGetStatus  </RETURNS>
CalClient *client,const char *uid,CalComponent **comp
</FUNCTION>
<FUNCTION>
<NAME>cal_client_get_timezone</NAME>
<RETURNS>CalClientGetStatus  </RETURNS>
CalClient *client,const char *tzid,icaltimezone **zone
</FUNCTION>
<FUNCTION>
<NAME>cal_client_get_uids</NAME>
<RETURNS>GList  *</RETURNS>
CalClient *client, CalObjType type
</FUNCTION>
<FUNCTION>
<NAME>cal_client_get_changes</NAME>
<RETURNS>GList  *</RETURNS>
CalClient *client, CalObjType type, const char *change_id
</FUNCTION>
<FUNCTION>
<NAME>cal_client_get_objects_in_range</NAME>
<RETURNS>GList  *</RETURNS>
CalClient *client, CalObjType type,time_t start, time_t end
</FUNCTION>
<FUNCTION>
<NAME>cal_client_get_free_busy</NAME>
<RETURNS>GList  *</RETURNS>
CalClient *client, GList *users,time_t start, time_t end
</FUNCTION>
<FUNCTION>
<NAME>cal_client_generate_instances</NAME>
<RETURNS>void  </RETURNS>
CalClient *client, CalObjType type,time_t start, time_t end,CalRecurInstanceFn cb, gpointer cb_data
</FUNCTION>
<FUNCTION>
<NAME>cal_client_get_alarms_in_range</NAME>
<RETURNS>GSList  *</RETURNS>
CalClient *client, time_t start, time_t end
</FUNCTION>
<FUNCTION>
<NAME>cal_client_free_alarms</NAME>
<RETURNS>void  </RETURNS>
GSList *comp_alarms
</FUNCTION>
<FUNCTION>
<NAME>cal_client_get_alarms_for_object</NAME>
<RETURNS>gboolean  </RETURNS>
CalClient *client, const char *uid,time_t start, time_t end,CalComponentAlarms **alarms
</FUNCTION>
<FUNCTION>
<NAME>cal_client_update_object</NAME>
<RETURNS>CalClientResult  </RETURNS>
CalClient *client, CalComponent *comp
</FUNCTION>
<FUNCTION>
<NAME>cal_client_update_objects</NAME>
<RETURNS>CalClientResult  </RETURNS>
CalClient *client, icalcomponent *icalcomp
</FUNCTION>
<FUNCTION>
<NAME>cal_client_remove_object</NAME>
<RETURNS>CalClientResult  </RETURNS>
CalClient *client, const char *uid
</FUNCTION>
<FUNCTION>
<NAME>cal_client_send_object</NAME>
<RETURNS>CalClientSendResult  </RETURNS>
CalClient *client, icalcomponent *icalcomp,icalcomponent **new_icalcomp, GList **users,char error_msg[256]
</FUNCTION>
<FUNCTION>
<NAME>cal_client_get_query</NAME>
<RETURNS>CalQuery  *</RETURNS>
CalClient *client, const char *sexp
</FUNCTION>
<FUNCTION>
<NAME>cal_client_resolve_tzid_cb</NAME>
<RETURNS>icaltimezone  *</RETURNS>
const char *tzid, gpointer data
</FUNCTION>
<FUNCTION>
<NAME>cal_client_get_component_as_string</NAME>
<RETURNS>char *</RETURNS>
CalClient *client,CalComponent *comp
</FUNCTION>
<MACRO>
<NAME>CAL_QUERY_TYPE</NAME>
#define CAL_QUERY_TYPE            (cal_query_get_type ())
</MACRO>
<MACRO>
<NAME>CAL_QUERY</NAME>
#define CAL_QUERY(obj)            (GTK_CHECK_CAST ((obj), CAL_QUERY_TYPE, CalQuery))
</MACRO>
<MACRO>
<NAME>CAL_QUERY_CLASS</NAME>
#define CAL_QUERY_CLASS(klass)    (GTK_CHECK_CLASS_CAST ((klass), CAL_QUERY_TYPE, CalQueryClass))
</MACRO>
<MACRO>
<NAME>IS_CAL_QUERY</NAME>
#define IS_CAL_QUERY(obj)         (GTK_CHECK_TYPE ((obj), CAL_QUERY_TYPE))
</MACRO>
<MACRO>
<NAME>IS_CAL_QUERY_CLASS</NAME>
#define IS_CAL_QUERY_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), CAL_QUERY_TYPE))
</MACRO>
<ENUM>
<NAME>CalQueryDoneStatus</NAME>
typedef enum {
	CAL_QUERY_DONE_SUCCESS,
	CAL_QUERY_DONE_PARSE_ERROR
} CalQueryDoneStatus;
</ENUM>
<STRUCT>
<NAME>CalQueryPrivate</NAME>
</STRUCT>
<TYPEDEF>
<NAME>CalQuery</NAME>
typedef struct {
	GtkObject object;

	/* Private data */
	CalQueryPrivate *priv;
} CalQuery;
</TYPEDEF>
<FUNCTION>
<NAME>cal_query_get_type</NAME>
<RETURNS>GtkType  </RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>cal_query_construct</NAME>
<RETURNS>CalQuery  *</RETURNS>
CalQuery *query,GNOME_Evolution_Calendar_Cal cal,const char *sexp
</FUNCTION>
<FUNCTION>
<NAME>cal_query_new</NAME>
<RETURNS>CalQuery  *</RETURNS>
GNOME_Evolution_Calendar_Cal cal,const char *sexp
</FUNCTION>
<MACRO>
<NAME>QUERY_LISTENER_TYPE</NAME>
#define QUERY_LISTENER_TYPE            (query_listener_get_type ())
</MACRO>
<MACRO>
<NAME>QUERY_LISTENER</NAME>
#define QUERY_LISTENER(obj)            (GTK_CHECK_CAST ((obj), QUERY_LISTENER_TYPE, QueryListener))
</MACRO>
<MACRO>
<NAME>QUERY_LISTENER_CLASS</NAME>
#define QUERY_LISTENER_CLASS(klass)    (GTK_CHECK_CLASS_CAST ((klass), QUERY_LISTENER_TYPE,	\
					QueryListenerClass))
</MACRO>
<MACRO>
<NAME>IS_QUERY_LISTENER</NAME>
#define IS_QUERY_LISTENER(obj)         (GTK_CHECK_TYPE ((obj), QUERY_LISTENER_TYPE))
</MACRO>
<MACRO>
<NAME>IS_QUERY_LISTENER_CLASS</NAME>
#define IS_QUERY_LISTENER_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), QUERY_LISTENER_TYPE))
</MACRO>
<STRUCT>
<NAME>QueryListenerPrivate</NAME>
</STRUCT>
<TYPEDEF>
<NAME>QueryListener</NAME>
typedef struct {
	BonoboXObject xobject;

	/* Private data */
	QueryListenerPrivate *priv;
} QueryListener;
</TYPEDEF>
<USER_FUNCTION>
<NAME>QueryListenerObjUpdatedFn</NAME>
<RETURNS>void </RETURNS>
QueryListener *ql,
					    const GNOME_Evolution_Calendar_CalObjUIDSeq *uids,
					    CORBA_boolean query_in_progress,
					    CORBA_long n_scanned,
					    CORBA_long total,
					    gpointer data
</USER_FUNCTION>
<USER_FUNCTION>
<NAME>QueryListenerObjRemovedFn</NAME>
<RETURNS>void </RETURNS>
QueryListener *ql,
					    const GNOME_Evolution_Calendar_CalObjUID uid,
					    gpointer data
</USER_FUNCTION>
<USER_FUNCTION>
<NAME>QueryListenerQueryDoneFn</NAME>
<RETURNS>void </RETURNS>

	QueryListener *ql,
	GNOME_Evolution_Calendar_QueryListener_QueryDoneStatus status,
	const CORBA_char *error_str,
	gpointer data
</USER_FUNCTION>
<USER_FUNCTION>
<NAME>QueryListenerEvalErrorFn</NAME>
<RETURNS>void </RETURNS>
QueryListener *ql,
					   const CORBA_char *error_str,
					   gpointer data
</USER_FUNCTION>
<FUNCTION>
<NAME>query_listener_get_type</NAME>
<RETURNS>GtkType  </RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>query_listener_construct</NAME>
<RETURNS>QueryListener  *</RETURNS>
QueryListener *ql,QueryListenerObjUpdatedFn obj_updated_fn,QueryListenerObjRemovedFn obj_removed_fn,QueryListenerQueryDoneFn query_done_fn,QueryListenerEvalErrorFn eval_error_fn,gpointer fn_data
</FUNCTION>
<FUNCTION>
<NAME>query_listener_new</NAME>
<RETURNS>QueryListener  *</RETURNS>
QueryListenerObjUpdatedFn obj_updated_fn,QueryListenerObjRemovedFn obj_removed_fn,QueryListenerQueryDoneFn query_done_fn,QueryListenerEvalErrorFn eval_error_fn,gpointer fn_data
</FUNCTION>
<FUNCTION>
<NAME>query_listener_stop_notification</NAME>
<RETURNS>void  </RETURNS>
QueryListener *ql
</FUNCTION>
<MACRO>
<NAME>CAL_CLIENT_MULTI_TYPE</NAME>
#define CAL_CLIENT_MULTI_TYPE            (cal_client_multi_get_type ())
</MACRO>
<MACRO>
<NAME>CAL_CLIENT_MULTI</NAME>
#define CAL_CLIENT_MULTI(obj)            (GTK_CHECK_CAST ((obj), CAL_CLIENT_MULTI_TYPE, CalClientMulti))
</MACRO>
<MACRO>
<NAME>CAL_CLIENT_MULTI_CLASS</NAME>
#define CAL_CLIENT_MULTI_CLASS(klass)    (GTK_CHECK_CLASS_CAST ((klass), CAL_CLIENT_MULTI_TYPE, CalClientMultiClass))
</MACRO>
<MACRO>
<NAME>IS_CAL_CLIENT_MULTI</NAME>
#define IS_CAL_CLIENT_MULTI(obj)         (GTK_CHECK_TYPE ((obj), CAL_CLIENT_MULTI_TYPE))
</MACRO>
<MACRO>
<NAME>IS_CAL_CLIENT_MULTI_CLASS</NAME>
#define IS_CAL_CLIENT_MULTI_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), CAL_CLIENT_MULTI_TYPE))
</MACRO>
<STRUCT>
<NAME>CalClientMulti</NAME>
</STRUCT>
<STRUCT>
<NAME>CalClientMultiClass</NAME>
</STRUCT>
<STRUCT>
<NAME>CalClientMultiPrivate</NAME>
</STRUCT>
<STRUCT>
<NAME>CalClientMulti</NAME>
struct CalClientMulti {
	GtkObject object;

	/* Private data */
	CalClientMultiPrivate *priv;
};
</STRUCT>
<FUNCTION>
<NAME>cal_client_multi_get_type</NAME>
<RETURNS>GtkType  </RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>cal_client_multi_new</NAME>
<RETURNS>CalClientMulti     *</RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>cal_client_multi_add_client</NAME>
<RETURNS>void  </RETURNS>
CalClientMulti *multi, CalClient *client
</FUNCTION>
<FUNCTION>
<NAME>cal_client_multi_set_auth_func</NAME>
<RETURNS>void  </RETURNS>
CalClientMulti *multi,CalClientAuthFunc func,gpointer user_data
</FUNCTION>
<FUNCTION>
<NAME>cal_client_multi_open_calendar</NAME>
<RETURNS>CalClient          *</RETURNS>
CalClientMulti *multi,const char *str_uri,gboolean only_if_exists
</FUNCTION>
<FUNCTION>
<NAME>cal_client_multi_get_client_for_uri</NAME>
<RETURNS>CalClient          *</RETURNS>
CalClientMulti *multi,const char *uri
</FUNCTION>
<FUNCTION>
<NAME>cal_client_multi_get_n_objects</NAME>
<RETURNS>int  </RETURNS>
CalClientMulti *multi, CalObjType type
</FUNCTION>
<FUNCTION>
<NAME>cal_client_multi_get_object</NAME>
<RETURNS>CalClientGetStatus  </RETURNS>
CalClientMulti *multi,const char *uid,CalComponent **comp
</FUNCTION>
<FUNCTION>
<NAME>cal_client_multi_get_timezone</NAME>
<RETURNS>CalClientGetStatus  </RETURNS>
CalClientMulti *multi,const char *tzid,icaltimezone **zone
</FUNCTION>
<FUNCTION>
<NAME>cal_client_multi_get_uids</NAME>
<RETURNS>GList              *</RETURNS>
CalClientMulti *multi, CalObjType type
</FUNCTION>
<FUNCTION>
<NAME>cal_client_multi_get_changes</NAME>
<RETURNS>GList              *</RETURNS>
CalClientMulti *multi,CalObjType type,const char *change_id
</FUNCTION>
<FUNCTION>
<NAME>cal_client_multi_get_objects_in_range</NAME>
<RETURNS>GList              *</RETURNS>
CalClientMulti *multi,CalObjType type,time_t start,time_t end
</FUNCTION>
<FUNCTION>
<NAME>cal_client_multi_get_free_busy</NAME>
<RETURNS>GList              *</RETURNS>
CalClientMulti *multi,GList *users,time_t start,time_t end
</FUNCTION>
<FUNCTION>
<NAME>cal_client_multi_generate_instances</NAME>
<RETURNS>void  </RETURNS>
CalClientMulti *multi,CalObjType type,time_t start,time_t end,CalRecurInstanceFn cb,gpointer cb_data
</FUNCTION>
<FUNCTION>
<NAME>cal_client_multi_get_alarms_in_range</NAME>
<RETURNS>GSList             *</RETURNS>
CalClientMulti *multi,time_t start, time_t end
</FUNCTION>
