00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038 #ifndef INCL_EDS_ABI_WRAPPER
00039 #define INCL_EDS_ABI_WRAPPER
00040
00041 #include "config.h"
00042
00043 #ifdef HAVE_EDS
00044 #include <glib-object.h>
00045 #include <libedataserver/e-source.h>
00046 #include <libedataserver/e-source-list.h>
00047 #ifdef ENABLE_EBOOK
00048 #include <libebook/e-book.h>
00049 #include <libebook/e-vcard.h>
00050 #endif
00051 #ifdef ENABLE_ECAL
00052 # define HANDLE_LIBICAL_MEMORY 1
00053 #include <libecal/e-cal.h>
00054 #endif
00055 #endif
00056
00057 #ifdef __cplusplus
00058 extern "C" {
00059 #endif
00060
00061 #ifdef EVOLUTION_COMPATIBILITY
00062
00063
00064
00065
00066
00067
00068 struct EDSAbiWrapper {
00069 # ifdef HAVE_EDS
00070 GType (*e_source_get_type) (void);
00071 char *(*e_source_get_uri) (ESource *source);
00072 GType (*e_source_group_get_type) (void);
00073 GSList *(*e_source_group_peek_sources) (ESourceGroup *group);
00074 GSList *(*e_source_list_peek_groups) (ESourceList *list);
00075 const char *(*e_source_peek_name) (ESource *source);
00076 # endif
00077
00078 # ifdef ENABLE_EBOOK
00079 gboolean (*e_book_add_contact) (EBook *book, EContact *contact, GError **error);
00080 gboolean (*e_book_authenticate_user) (EBook *book, const char *user, const char *passwd, const char *auth_method, GError **error);
00081 gboolean (*e_book_commit_contact) (EBook *book, EContact *contact, GError **error);
00082 EContact* (*e_contact_duplicate) (EContact *contact);
00083 gconstpointer (*e_contact_get_const) (EContact *contact, EContactField field_id);
00084 GType (*e_contact_get_type) (void);
00085 EContact* (*e_contact_new_from_vcard) (const char *vcard);
00086 void (*e_contact_set) (EContact *contact, EContactField field_id, const gpointer value);
00087 gboolean (*e_book_get_addressbooks) (ESourceList** addressbook_sources, GError **error);
00088 gboolean (*e_book_get_changes) (EBook *book, char *changeid, GList **changes, GError **error);
00089 gboolean (*e_book_get_contact) (EBook *book, const char *id, EContact **contact, GError **error);
00090 gboolean (*e_book_get_contacts) (EBook *book, EBookQuery *query, GList **contacts, GError **error);
00091 gboolean (*e_book_get_supported_auth_methods) (EBook *book, GList **auth_methods, GError **error);
00092 const char *(*e_book_get_uri) (EBook *book);
00093 EBook *(*e_book_new) (ESource *source, GError **error);
00094 EBook *(*e_book_new_default_addressbook) (GError **error);
00095 EBook *(*e_book_new_from_uri) (const char *uri, GError **error);
00096 EBook *(*e_book_new_system_addressbook) (GError **error);
00097 gboolean (*e_book_open) (EBook *book, gboolean only_if_exists, GError **error);
00098 EBookQuery* (*e_book_query_any_field_contains) (const char *value);
00099 void (*e_book_query_unref) (EBookQuery *q);
00100 GQuark (*e_book_error_quark) (void);
00101 gboolean (*e_book_remove_contact) (EBook *book, const char *id, GError **error);
00102 char* (*e_vcard_to_string) (EVCard *evc, EVCardFormat format);
00103 # endif
00104
00105 # ifdef ENABLE_ECAL
00106 gboolean (*e_cal_add_timezone) (ECal *ecal, icaltimezone *izone, GError **error);
00107 icalcomponent *(*e_cal_component_get_icalcomponent) (ECalComponent *comp);
00108 void (*e_cal_component_get_last_modified) (ECalComponent *comp, struct icaltimetype **t);
00109 GType (*e_cal_component_get_type) (void);
00110 gboolean (*e_cal_create_object) (ECal *ecal, icalcomponent *icalcomp, char **uid, GError **error);
00111 GQuark (*e_calendar_error_quark) (void) G_GNUC_CONST;
00112 char* (*e_cal_get_component_as_string) (ECal *ecal, icalcomponent *icalcomp);
00113 gboolean (*e_cal_get_object) (ECal *ecal, const char *uid, const char *rid, icalcomponent **icalcomp, GError **error);
00114 gboolean (*e_cal_get_object_list_as_comp) (ECal *ecal, const char *query, GList **objects, GError **error);
00115 gboolean (*e_cal_get_sources) (ESourceList **sources, ECalSourceType type, GError **error);
00116 gboolean (*e_cal_get_timezone) (ECal *ecal, const char *tzid, icaltimezone **zone, GError **error);
00117 gboolean (*e_cal_modify_object) (ECal *ecal, icalcomponent *icalcomp, CalObjModType mod, GError **error);
00118 ECal *(*e_cal_new) (ESource *source, ECalSourceType type);
00119 ECal *(*e_cal_new_from_uri) (const gchar *uri, ECalSourceType type);
00120 ECal *(*e_cal_new_system_calendar) (void);
00121 ECal *(*e_cal_new_system_tasks) (void);
00122 gboolean (*e_cal_open) (ECal *ecal, gboolean only_if_exists, GError **error);
00123 gboolean (*e_cal_remove_object) (ECal *ecal, const char *uid, GError **error);
00124 gboolean (*e_cal_remove_object_with_mod) (ECal *ecal, const char *uid, const char *rid, CalObjModType mod, GError **error);
00125 void (*e_cal_set_auth_func) (ECal *ecal, ECalAuthFunc func, gpointer data);
00126 void (*icalcomponent_add_component) (icalcomponent* parent, icalcomponent* child);
00127 char* (*icalcomponent_as_ical_string) (icalcomponent* component);
00128 void (*icalcomponent_free) (icalcomponent* component);
00129 icalcomponent* (*icalcomponent_get_first_component) (icalcomponent* component, icalcomponent_kind kind);
00130 icalproperty* (*icalcomponent_get_first_property) (icalcomponent* component, icalproperty_kind kind);
00131 icalcomponent* (*icalcomponent_get_next_component) (icalcomponent* component, icalcomponent_kind kind);
00132 icalproperty* (*icalcomponent_get_next_property) (icalcomponent* component, icalproperty_kind kind);
00133 struct icaltimetype (*icalcomponent_get_recurrenceid) (icalcomponent* comp);
00134 icaltimezone* (*icalcomponent_get_timezone) (icalcomponent* comp, const char *tzid);
00135 const char* (*icalcomponent_get_uid) (icalcomponent* comp);
00136 icalcomponent_kind (*icalcomponent_isa) (const icalcomponent* component);
00137 icalcomponent* (*icalcomponent_new_clone) (icalcomponent* component);
00138 icalcomponent* (*icalcomponent_new_from_string) (char* str);
00139 void (*icalcomponent_remove_property) (icalcomponent* component, icalproperty* property);
00140 void (*icalcomponent_set_uid) (icalcomponent* comp, const char* v);
00141 icalcomponent* (*icalcomponent_vanew) (icalcomponent_kind kind, ...);
00142 const char* (*icalparameter_get_tzid) (const icalparameter* value);
00143 void (*icalparameter_set_tzid) (icalparameter* value, const char* v);
00144 const char* (*icalproperty_get_description) (const icalproperty* prop);
00145 icalparameter* (*icalproperty_get_first_parameter) (icalproperty* prop, icalparameter_kind kind);
00146 struct icaltimetype (*icalproperty_get_lastmodified) (const icalproperty* prop);
00147 icalproperty* (*icalproperty_vanew_lastmodified) (struct icaltimetype v, ...);
00148 icalparameter* (*icalproperty_get_next_parameter) (icalproperty* prop, icalparameter_kind kind);
00149 const char* (*icalproperty_get_summary) (const icalproperty* prop);
00150 icalproperty* (*icalproperty_new_description) (const char* v);
00151 icalproperty* (*icalproperty_new_summary) (const char* v);
00152 void (*icalproperty_set_value_from_string) (icalproperty* prop,const char* value, const char* kind);
00153 const char* (*icaltime_as_ical_string) (const struct icaltimetype tt);
00154
00155 void (*icaltimezone_free) (icaltimezone *zone, int free_struct);
00156 icaltimezone* (*icaltimezone_get_builtin_timezone) (const char *location);
00157 icaltimezone* (*icaltimezone_get_builtin_timezone_from_tzid) (const char *tzid);
00158 icalcomponent* (*icaltimezone_get_component) (icaltimezone *zone);
00159 char* (*icaltimezone_get_tzid) (icaltimezone *zone);
00160 icaltimezone *(*icaltimezone_new) (void);
00161 int (*icaltimezone_set_component) (icaltimezone *zone, icalcomponent *comp);
00162 # endif
00163
00164 int initialized;
00165 };
00166
00167 extern struct EDSAbiWrapper EDSAbiWrapperSingleton;
00168
00169 # ifndef EDS_ABI_WRAPPER_NO_REDEFINE
00170 # ifdef HAVE_EDS
00171 # define e_source_get_type EDSAbiWrapperSingleton.e_source_get_type
00172 # define e_source_get_uri EDSAbiWrapperSingleton.e_source_get_uri
00173 # define e_source_group_get_type EDSAbiWrapperSingleton.e_source_group_get_type
00174 # define e_source_group_peek_sources EDSAbiWrapperSingleton.e_source_group_peek_sources
00175 # define e_source_list_peek_groups EDSAbiWrapperSingleton.e_source_list_peek_groups
00176 # define e_source_peek_name EDSAbiWrapperSingleton.e_source_peek_name
00177 # endif
00178
00179 # ifdef ENABLE_EBOOK
00180 # define e_book_add_contact EDSAbiWrapperSingleton.e_book_add_contact
00181 # define e_book_authenticate_user EDSAbiWrapperSingleton.e_book_authenticate_user
00182 # define e_book_commit_contact EDSAbiWrapperSingleton.e_book_commit_contact
00183 # define e_contact_duplicate EDSAbiWrapperSingleton.e_contact_duplicate
00184 # define e_contact_get_const EDSAbiWrapperSingleton.e_contact_get_const
00185 # define e_contact_get_type EDSAbiWrapperSingleton.e_contact_get_type
00186 # define e_contact_new_from_vcard EDSAbiWrapperSingleton.e_contact_new_from_vcard
00187 # define e_contact_set EDSAbiWrapperSingleton.e_contact_set
00188 # define e_book_error_quark EDSAbiWrapperSingleton.e_book_error_quark
00189 # define e_book_get_addressbooks EDSAbiWrapperSingleton.e_book_get_addressbooks
00190 # define e_book_get_changes EDSAbiWrapperSingleton.e_book_get_changes
00191 # define e_book_get_contact EDSAbiWrapperSingleton.e_book_get_contact
00192 # define e_book_get_contacts EDSAbiWrapperSingleton.e_book_get_contacts
00193 # define e_book_get_supported_auth_methods EDSAbiWrapperSingleton.e_book_get_supported_auth_methods
00194 # define e_book_get_uri EDSAbiWrapperSingleton.e_book_get_uri
00195 # define e_book_new EDSAbiWrapperSingleton.e_book_new
00196 # define e_book_new_default_addressbook EDSAbiWrapperSingleton.e_book_new_default_addressbook
00197 # define e_book_new_from_uri EDSAbiWrapperSingleton.e_book_new_from_uri
00198 # define e_book_new_system_addressbook EDSAbiWrapperSingleton.e_book_new_system_addressbook
00199 # define e_book_open EDSAbiWrapperSingleton.e_book_open
00200 # define e_book_query_any_field_contains EDSAbiWrapperSingleton.e_book_query_any_field_contains
00201 # define e_book_query_unref EDSAbiWrapperSingleton.e_book_query_unref
00202 # define e_book_remove_contact EDSAbiWrapperSingleton.e_book_remove_contact
00203 # define e_vcard_to_string EDSAbiWrapperSingleton.e_vcard_to_string
00204 # endif
00205
00206 # ifdef ENABLE_ECAL
00207 # define e_cal_add_timezone EDSAbiWrapperSingleton.e_cal_add_timezone
00208 # define e_cal_component_get_icalcomponent EDSAbiWrapperSingleton.e_cal_component_get_icalcomponent
00209 # define e_cal_component_get_last_modified EDSAbiWrapperSingleton.e_cal_component_get_last_modified
00210 # define e_cal_component_get_type EDSAbiWrapperSingleton.e_cal_component_get_type
00211 # define e_cal_create_object EDSAbiWrapperSingleton.e_cal_create_object
00212 # define e_calendar_error_quark EDSAbiWrapperSingleton.e_calendar_error_quark
00213 # define e_cal_get_component_as_string EDSAbiWrapperSingleton.e_cal_get_component_as_string
00214 # define e_cal_get_object EDSAbiWrapperSingleton.e_cal_get_object
00215 # define e_cal_get_object_list_as_comp EDSAbiWrapperSingleton.e_cal_get_object_list_as_comp
00216 # define e_cal_get_sources EDSAbiWrapperSingleton.e_cal_get_sources
00217 # define e_cal_get_timezone EDSAbiWrapperSingleton.e_cal_get_timezone
00218 # define e_cal_modify_object EDSAbiWrapperSingleton.e_cal_modify_object
00219 # define e_cal_new EDSAbiWrapperSingleton.e_cal_new
00220 # define e_cal_new_from_uri EDSAbiWrapperSingleton.e_cal_new_from_uri
00221 # define e_cal_new_system_calendar EDSAbiWrapperSingleton.e_cal_new_system_calendar
00222 # define e_cal_new_system_tasks EDSAbiWrapperSingleton.e_cal_new_system_tasks
00223 # define e_cal_open EDSAbiWrapperSingleton.e_cal_open
00224 # define e_cal_remove_object EDSAbiWrapperSingleton.e_cal_remove_object
00225 # define e_cal_remove_object_with_mod EDSAbiWrapperSingleton.e_cal_remove_object_with_mod
00226 # define e_cal_set_auth_func EDSAbiWrapperSingleton.e_cal_set_auth_func
00227 # define icalcomponent_add_component EDSAbiWrapperSingleton.icalcomponent_add_component
00228 # define icalcomponent_as_ical_string EDSAbiWrapperSingleton.icalcomponent_as_ical_string
00229 # define icalcomponent_free EDSAbiWrapperSingleton.icalcomponent_free
00230 # define icalcomponent_get_first_component EDSAbiWrapperSingleton.icalcomponent_get_first_component
00231 # define icalcomponent_get_first_property EDSAbiWrapperSingleton.icalcomponent_get_first_property
00232 # define icalcomponent_get_next_component EDSAbiWrapperSingleton.icalcomponent_get_next_component
00233 # define icalcomponent_get_next_property EDSAbiWrapperSingleton.icalcomponent_get_next_property
00234 # define icalcomponent_get_recurrenceid EDSAbiWrapperSingleton.icalcomponent_get_recurrenceid
00235 # define icalcomponent_get_timezone EDSAbiWrapperSingleton.icalcomponent_get_timezone
00236 # define icalcomponent_get_uid EDSAbiWrapperSingleton.icalcomponent_get_uid
00237 # define icalcomponent_isa EDSAbiWrapperSingleton.icalcomponent_isa
00238 # define icalcomponent_new_clone EDSAbiWrapperSingleton.icalcomponent_new_clone
00239 # define icalcomponent_new_from_string EDSAbiWrapperSingleton.icalcomponent_new_from_string
00240 # define icalcomponent_remove_property EDSAbiWrapperSingleton.icalcomponent_remove_property
00241 # define icalcomponent_set_uid EDSAbiWrapperSingleton.icalcomponent_set_uid
00242 # define icalcomponent_vanew EDSAbiWrapperSingleton.icalcomponent_vanew
00243 # define icalparameter_get_tzid EDSAbiWrapperSingleton.icalparameter_get_tzid
00244 # define icalparameter_set_tzid EDSAbiWrapperSingleton.icalparameter_set_tzid
00245 # define icalproperty_get_description EDSAbiWrapperSingleton.icalproperty_get_description
00246 # define icalproperty_get_first_parameter EDSAbiWrapperSingleton.icalproperty_get_first_parameter
00247 # define icalproperty_get_lastmodified EDSAbiWrapperSingleton.icalproperty_get_lastmodified
00248 # define icalproperty_get_next_parameter EDSAbiWrapperSingleton.icalproperty_get_next_parameter
00249 # define icalproperty_get_summary EDSAbiWrapperSingleton.icalproperty_get_summary
00250 # define icalproperty_new_description EDSAbiWrapperSingleton.icalproperty_new_description
00251 # define icalproperty_new_summary EDSAbiWrapperSingleton.icalproperty_new_summary
00252 # define icalproperty_set_value_from_string EDSAbiWrapperSingleton.icalproperty_set_value_from_string
00253 # define icaltime_as_ical_string EDSAbiWrapperSingleton.icaltime_as_ical_string
00254 # define icaltimezone_free EDSAbiWrapperSingleton.icaltimezone_free
00255 # define icaltimezone_get_builtin_timezone EDSAbiWrapperSingleton.icaltimezone_get_builtin_timezone
00256 # define icaltimezone_get_builtin_timezone_from_tzid EDSAbiWrapperSingleton.icaltimezone_get_builtin_timezone_from_tzid
00257 # define icaltimezone_get_component EDSAbiWrapperSingleton.icaltimezone_get_component
00258 # define icaltimezone_get_tzid EDSAbiWrapperSingleton.icaltimezone_get_tzid
00259 # define icaltimezone_new EDSAbiWrapperSingleton.icaltimezone_new
00260 # define icaltimezone_set_component EDSAbiWrapperSingleton.icaltimezone_set_component
00261 # endif
00262 # endif
00263
00264 #endif
00265
00266 void EDSAbiWrapperInit();
00267
00268 const char *EDSAbiWrapperInfo();
00269 const char *EDSAbiWrapperDebug();
00270
00271 #ifdef __cplusplus
00272 }
00273 #endif
00274
00275 #endif