<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>
<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_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_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_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_remove_object</NAME>
<RETURNS>gboolean </RETURNS>
CalClient *client, const char *uid
</FUNCTION>
<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>