19#include <rtl/ustring.hxx>
20#include <osl/module.hxx>
21#define DECLARE_FN_POINTERS 1
86template<
size_t N>
static bool
87tryLink( osl::Module &rModule,
const char *pName,
const ApiMap (&pMap)[N])
89 for (
size_t i = 0;
i <
N; ++
i)
92 rModule.getFunctionSymbol(OUString::createFromAscii(pMap[
i].sym_name)));
95 fprintf( stderr,
"Warning: missing symbol '%s' in '%s'\n",
96 pMap[
i ].sym_name,
pName );
99 *pMap[
i ].ref_value = aMethod;
108 osl::Module aModule(OUString::createFromAscii(
eBookLibNames[j]), SAL_LOADMODULE_DEFAULT);
125 fprintf( stderr,
"Can find no compliant libebook client libraries\n" );
ESourceRegistry * get_e_source_registry()
static const char * eBookLibNames[]
const ApiMap aClientApiMap38[]
static bool tryLink(osl::Module &rModule, const char *pName, const ApiMap(&pMap)[N])
const ApiMap aNewApiMap[]
const ApiMap aCommonApiMap[]
EAPI_EXTERN void(* e_client_util_free_object_slist)(GSList *objects)
EAPI_EXTERN const char *(* e_contact_field_name)(EContactField field_id)
EAPI_EXTERN EBookQuery *(* e_book_query_not)(EBookQuery *q, gboolean unref)
EAPI_EXTERN ESource *(* e_client_get_source)(EClient *client)
EAPI_EXTERN gpointer(* e_source_get_extension)(ESource *source, const gchar *extension_name)
EAPI_EXTERN EContactField(* e_contact_field_id)(const char *field_name)
EAPI_EXTERN gboolean(* e_book_open)(EBook *book, gboolean only_if_exists, GError **error)
EAPI_EXTERN const gchar *(* e_source_backend_get_backend_name)(ESourceBackend *extension)
EAPI_EXTERN EBookClient *(* e_book_client_connect_direct_sync)(ESourceRegistry *registry, ESource *source, guint32 wait_for_connected_seconds, GCancellable *cancellable, GError **error)
EAPI_EXTERN const gchar *(* e_source_get_display_name)(ESource *source)
EAPI_EXTERN EBookQuery *(* e_book_query_field_test)(EContactField field, EBookQueryTest test, const char *value)
EAPI_EXTERN ESourceRegistry *(* e_source_registry_new_sync)(GCancellable *cancellable, GError **error)
EAPI_EXTERN EBook *(* e_book_new)(ESource *source, GError **error)
EAPI_EXTERN gpointer(* e_contact_get)(EContact *contact, EContactField field_id)
EAPI_EXTERN ESource *(* e_source_registry_ref_source)(ESourceRegistry *registry, const gchar *uid)
EAPI_EXTERN ESource *(* e_book_get_source)(EBook *book)
EAPI_EXTERN EBookQuery *(* e_book_query_ref)(EBookQuery *q)
EAPI_EXTERN gboolean(* e_source_has_extension)(ESource *source, const gchar *extension_name)
EAPI_EXTERN void(* e_book_query_unref)(EBookQuery *q)
EAPI_EXTERN EBookQuery *(* e_book_query_from_string)(const char *query_string)
EAPI_EXTERN EBookQuery *(* e_book_query_and)(int nqs, EBookQuery **qs, gboolean unref)
EAPI_EXTERN char *(* e_book_query_to_string)(EBookQuery *q)
EAPI_EXTERN gboolean(* e_book_client_get_contacts_sync)(EBookClient *client, const gchar *sexp, GSList **contacts, GCancellable *cancellable, GError **error)
EAPI_EXTERN const gchar *(* eds_check_version)(guint required_major, guint required_minor, guint required_micro)
EAPI_EXTERN GType(* e_contact_get_type)(void)
EAPI_EXTERN const gchar *(* e_source_get_uid)(ESource *source)
EAPI_EXTERN GList *(* e_source_registry_list_sources)(ESourceRegistry *registry, const gchar *extension_name)
EAPI_EXTERN gboolean(* e_book_get_contacts)(EBook *book, EBookQuery *query, GList **contacts, GError **error)
EAPI_EXTERN gboolean(* e_client_open_sync)(EClient *client, gboolean only_if_exists, GCancellable *cancellable, GError **error)
EAPI_EXTERN EBookQuery *(* e_book_query_field_exists)(EContactField field)
EAPI_EXTERN EBookQuery *(* e_book_query_or)(int nqs, EBookQuery **qs, gboolean unref)