diff options
Diffstat (limited to 'debian/opensync/opensync-0.22/opensync/opensync_plugin.h')
-rw-r--r-- | debian/opensync/opensync-0.22/opensync/opensync_plugin.h | 141 |
1 files changed, 0 insertions, 141 deletions
diff --git a/debian/opensync/opensync-0.22/opensync/opensync_plugin.h b/debian/opensync/opensync-0.22/opensync/opensync_plugin.h deleted file mode 100644 index a465234a..00000000 --- a/debian/opensync/opensync-0.22/opensync/opensync_plugin.h +++ /dev/null @@ -1,141 +0,0 @@ - -/*! @brief The functions that can be called on a plugin - * @ingroup OSyncPluginAPI - **/ -typedef struct OSyncPluginFunctions { - /** The function that gets a configuration file for this plugin (optional) */ - osync_bool (* get_config) (char *, char **, int *); - /** The function that stores the configuration file for this plugin (optional) */ - osync_bool (* store_config) (char *, const char *, int); - /** A function to check if the backend is available. (optional) */ - osync_bool (* is_available) (OSyncError **); - /** The function to initialize the plugin. */ - void * (* initialize) (OSyncMember *, OSyncError **); - /** The function to finalize the plugin. The input will be the output of the initialize function */ - void (* finalize) (void *); - /** Make a connection to your device here */ - void (* connect) (OSyncContext *); - /** This function gets called if the sync was successfull (Optional) */ - void (* sync_done) (OSyncContext *ctx); - /** Disconnect from the device */ - void (* disconnect) (OSyncContext *); - /** Get all available changes here. */ - void (* get_changeinfo) (OSyncContext *); - /** Get the data for a change here (Optional) */ - void (* get_data) (OSyncContext *, OSyncChange *); - /** */ -} OSyncPluginFunctions; - -/*! @brief The timeouts for the asynchronous functions of a plugin - * - * The default timeout it 60 seconds. Set this to 0 if you dont want - * to have a timeout - * - * @ingroup OSyncPluginAPI - **/ -typedef struct OSyncPluginTimeouts { - /** The timeout of the connect function */ - unsigned int connect_timeout; - /** The timeout of the syncdone function */ - unsigned int sync_done_timeout; - /** The timeout of the disconnect function */ - unsigned int disconnect_timeout; - /** The timeout of the function that gets the changes */ - unsigned int get_changeinfo_timeout; - /** The timeout of the function that gets the data of change */ - unsigned int get_data_timeout; - /** The timeout of the commit function */ - unsigned int commit_timeout; - /** The timeout of the function that reads a change */ - unsigned int read_change_timeout; -} OSyncPluginTimeouts; - -typedef osync_bool (* OSyncFormatCommitFn) (OSyncContext *, OSyncChange *); -typedef osync_bool (* OSyncFormatAccessFn) (OSyncContext *, OSyncChange *); -typedef void (* OSyncFormatCommittedAllFn) (OSyncContext *); -typedef void (* OSyncFormatReadFn) (OSyncContext *, OSyncChange *); -typedef void (* OSyncFormatBatchCommitFn) (OSyncContext *, OSyncContext **, OSyncChange **); - -/*! @brief The functions for accessing formats on a plugin - * @ingroup OSyncPluginAPI - **/ -typedef struct OSyncFormatFunctions { - /** The commit function of this format */ - OSyncFormatCommitFn commit_change; - /** The function that will be called once the plugin has received all commits */ - OSyncFormatCommittedAllFn committed_all; - /** This function will be called by opensync with an array of changes to commit */ - OSyncFormatBatchCommitFn batch_commit; - /** The function to write a change WITHOUT updating hashtables or similar stuff */ - OSyncFormatAccessFn access; - /** The function to read a change by its uid */ - OSyncFormatReadFn read; -} OSyncFormatFunctions; - -/*! @brief Gives information about wether the plugin - * has to be configured or not - * - * @ingroup OSyncPluginAPI - **/ -typedef enum { - /** Plugin has no configuration options */ - NO_CONFIGURATION = 0, - /** Plugin can be configured, but will accept the default config in the initialize function */ - OPTIONAL_CONFIGURATION = 1, - /** Plugin must be configured to run correctly */ - NEEDS_CONFIGURATION = 2 -} OSyncConfigurationTypes; - -/*! @brief Gives information about a plugin - * @ingroup OSyncPluginAPI - **/ -typedef struct OSyncPluginInfo { - /** The version of Opensync API this plugin uses*/ - int version; - /** The name of this plugin */ - const char *name; - /** The longer, more descriptive name of the plugin */ - const char *longname; - /** A short description what the plugin does */ - const char *description; - /** Is this plugin considered thread-safe? (unused atm) */ - osync_bool is_threadsafe; - /** The functions of your plugin */ - OSyncPluginFunctions functions; - /** The timeouts of your plugin */ - OSyncPluginTimeouts timeouts; - /** Does the plugin have configuration options? */ - OSyncConfigurationTypes config_type; - /** The pointer to the plugin (for internal use) */ - OSyncPlugin *plugin; - /** Plugin-specific data - * - * Can be used when a single module registers many plugins, - * such as the python-module plugin - */ - void *plugin_data; -} OSyncPluginInfo; - -OSyncPlugin *osync_plugin_new(OSyncEnv *env); -OSyncPluginInfo *osync_plugin_new_info(OSyncEnv *env); -void osync_plugin_free(OSyncPlugin *plugin); - -osync_bool osync_module_load(OSyncEnv *env, const char *path, OSyncError **error); -osync_bool osync_module_load_dir(OSyncEnv *env, const char *path, osync_bool must_exist, OSyncError **oserror); - -OSyncPlugin *osync_plugin_from_name(OSyncEnv *osinfo, const char *name); -const char *osync_plugin_get_name(OSyncPlugin *plugin); -const char *osync_plugin_get_longname(OSyncPlugin *plugin); -const char *osync_plugin_get_description(OSyncPlugin *plugin); -OSyncPluginTimeouts osync_plugin_get_timeouts(OSyncPlugin *plugin); -void *osync_plugin_get_plugin_data(OSyncPlugin *plugin); -const char *osync_plugin_get_path(OSyncPlugin *plugin); - -void *osync_plugin_get_function(OSyncPlugin *plugin, const char *name, OSyncError **error); -void osync_plugin_accept_objtype(OSyncPluginInfo *info, const char *objtypestr); -void osync_plugin_accept_objformat(OSyncPluginInfo *info, const char *objtypestr, const char *formatstr, const char *extension); -void osync_plugin_set_commit_objformat(OSyncPluginInfo *info, const char *objtypestr, const char *formatstr, OSyncFormatCommitFn commit_change); -void osync_plugin_set_access_objformat(OSyncPluginInfo *info, const char *objtypestr, const char *formatstr, OSyncFormatAccessFn access_fn); -void osync_plugin_set_read_objformat(OSyncPluginInfo *info, const char *objtypestr, const char *formatstr, OSyncFormatReadFn read_fn); -void osync_plugin_set_batch_commit_objformat(OSyncPluginInfo *info, const char *objtypestr, const char *formatstr, OSyncFormatBatchCommitFn batch); -void osync_plugin_set_committed_all_objformat(OSyncPluginInfo *info, const char *objtypestr, const char *formatstr, OSyncFormatCommittedAllFn committed_all); |