<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_METHOD_NOT_SUPPORTED
} CalClientOpenStatus;
</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>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_open_calendar</NAME>
<RETURNS>gboolean  </RETURNS>
CalClient *client, const char *str_uri, gboolean only_if_exists
</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_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>CalClientGetStatus  </RETURNS>
CalClient *client, time_t start, time_t end,CalComponent **comp
</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>gboolean  </RETURNS>
CalClient *client, CalComponent *comp
</FUNCTION>
<FUNCTION>
<NAME>cal_client_update_objects</NAME>
<RETURNS>gboolean  </RETURNS>
CalClient *client, icalcomponent *icalcomp
</FUNCTION>
<FUNCTION>
<NAME>cal_client_remove_object</NAME>
<RETURNS>gboolean  </RETURNS>
CalClient *client, const char *uid
</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>
<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_CalObjUID uid,
					    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>
