src/core/eds_abi_wrapper.h File Reference

#include "config.h"

Include dependency graph for eds_abi_wrapper.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void EDSAbiWrapperInit ()
const char * EDSAbiWrapperInfo ()
const char * EDSAbiWrapperDebug ()


Function Documentation

const char* EDSAbiWrapperDebug (  ) 

Definition at line 254 of file eds_abi_wrapper.cpp.

Referenced by EvolutionSyncClient::sync().

const char* EDSAbiWrapperInfo (  ) 

Definition at line 253 of file eds_abi_wrapper.cpp.

Referenced by SyncEvolutionCmdline::run().

void EDSAbiWrapperInit (  ) 

The purpose of this file is to separate SyncEvolution from Evolution Dataserver ABI changes by never depending directly on any symbol in its libraries. Instead all functions are called via function pointers found via dlopen/dlsym.

This is more flexible than linking against a specific revision of the libs, but circumvents the usual lib versioning and therefore may fail when the functions needed by SyncEvolution change.

History shows that this has not happened for a long time whereas the version of libs had to be bumped quite a few times due to other changes.

To use the wrappers, include this header file. It overrides the normal C API functions with the function pointers via defines.

Definition at line 146 of file eds_abi_wrapper.cpp.

Referenced by main().


Generated on Sat Oct 18 17:16:53 2008 for SyncEvolution and Funambol by  doxygen 1.5.7.1