<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>CalClientLoadStatus</NAME>
typedef enum {
CAL_CLIENT_LOAD_SUCCESS,
CAL_CLIENT_LOAD_ERROR,
CAL_CLIENT_LOAD_IN_USE,
CAL_CLIENT_LOAD_METHOD_NOT_SUPPORTED
} CalClientLoadStatus;
</ENUM>
<ENUM>
<NAME>CalClientGetStatus</NAME>
typedef enum {
CAL_CLIENT_GET_SUCCESS,
CAL_CLIENT_GET_NOT_FOUND,
CAL_CLIENT_GET_SYNTAX_ERROR
} CalClientGetStatus;
</ENUM>
<STRUCT>
<NAME>CalClient</NAME>
struct CalClient {
GtkObject object;
/* Private data */
CalClientPrivate *priv;
};
</STRUCT>
<STRUCT>
<NAME>CalClientClass</NAME>
struct CalClientClass {
GtkObjectClass parent_class;
/* Notification signals */
void (* cal_loaded) (CalClient *client, CalClientLoadStatus status);
void (* obj_updated) (CalClient *client, const char *uid);
void (* obj_removed) (CalClient *client, const char *uid);
};
</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_load_calendar</NAME>
<RETURNS>gboolean </RETURNS>
CalClient *client, const char *str_uri
</FUNCTION>
<FUNCTION>
<NAME>cal_client_create_calendar</NAME>
<RETURNS>gboolean </RETURNS>
CalClient *client, const char *str_uri
</FUNCTION>
<FUNCTION>
<NAME>cal_client_is_loaded</NAME>
<RETURNS>gboolean </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>