00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef _OPENSYNC_PLUGIN_CONFIG_H_
00022 #define _OPENSYNC_PLUGIN_CONFIG_H_
00023
00024 #include <opensync/opensync_list.h>
00035
00041 typedef enum {
00043 OPENSYNC_PLUGIN_CONFIG_ADVANCEDOPTION = (1 << 0),
00045 OPENSYNC_PLUGIN_CONFIG_AUTHENTICATION = (1 << 1),
00047 OPENSYNC_PLUGIN_CONFIG_LOCALIZATION = (1 << 2),
00049 OPENSYNC_PLUGIN_CONFIG_RESOURCES = (1 << 3),
00051 OPENSYNC_PLUGIN_CONFIG_CONNECTION = (1 << 4)
00052 } OSyncPluginConfigSupportedFlag;
00053
00057 typedef unsigned int OSyncPluginConfigSupportedFlags;
00058
00064 OSYNC_EXPORT OSyncPluginConfig *osync_plugin_config_new(OSyncError **error);
00065
00070 OSYNC_EXPORT void osync_plugin_config_unref(OSyncPluginConfig *config);
00071
00077 OSYNC_EXPORT OSyncPluginConfig *osync_plugin_config_ref(OSyncPluginConfig *config);
00078
00079
00088 OSYNC_EXPORT osync_bool osync_plugin_config_file_load(OSyncPluginConfig *config, const char *path, const char *schemadir, OSyncError **error);
00089
00097 OSYNC_EXPORT osync_bool osync_plugin_config_file_save(OSyncPluginConfig *config, const char *path, OSyncError **error);
00098
00099
00106 OSYNC_EXPORT osync_bool osync_plugin_config_is_supported(OSyncPluginConfig *config, OSyncPluginConfigSupportedFlag flag);
00107
00113 OSYNC_EXPORT void osync_plugin_config_set_supported(OSyncPluginConfig *config, OSyncPluginConfigSupportedFlags flags);
00114
00115
00121 OSYNC_EXPORT OSyncList *osync_plugin_config_get_advancedoptions(OSyncPluginConfig *config);
00122
00129 OSYNC_EXPORT const char *osync_plugin_config_get_advancedoption_value_by_name(OSyncPluginConfig *config, const char *name);
00130
00136 OSYNC_EXPORT void osync_plugin_config_add_advancedoption(OSyncPluginConfig *config, OSyncPluginAdvancedOption *option);
00137
00143 OSYNC_EXPORT void osync_plugin_config_remove_advancedoption(OSyncPluginConfig *config, OSyncPluginAdvancedOption *option);
00144
00145
00151 OSYNC_EXPORT OSyncPluginAuthentication *osync_plugin_config_get_authentication(OSyncPluginConfig *config);
00152
00158 OSYNC_EXPORT void osync_plugin_config_set_authentication(OSyncPluginConfig *config, OSyncPluginAuthentication *authentication);
00159
00160
00166 OSYNC_EXPORT OSyncPluginLocalization *osync_plugin_config_get_localization(OSyncPluginConfig *config);
00167
00173 OSYNC_EXPORT void osync_plugin_config_set_localization(OSyncPluginConfig *config, OSyncPluginLocalization *localization);
00174
00175
00181 OSYNC_EXPORT OSyncList *osync_plugin_config_get_resources(OSyncPluginConfig *config);
00182
00189 OSYNC_EXPORT OSyncPluginResource *osync_plugin_config_find_active_resource(OSyncPluginConfig *config, const char *objtype);
00190
00196 OSYNC_EXPORT void osync_plugin_config_add_resource(OSyncPluginConfig *config, OSyncPluginResource *resource);
00197
00203 OSYNC_EXPORT void osync_plugin_config_remove_resource(OSyncPluginConfig *config, OSyncPluginResource *resource);
00204
00205 OSYNC_EXPORT void osync_plugin_config_flush_resources(OSyncPluginConfig *config);
00206
00207
00213 OSYNC_EXPORT OSyncPluginConnection *osync_plugin_config_get_connection(OSyncPluginConfig *config);
00214
00220 OSYNC_EXPORT void osync_plugin_config_set_connection(OSyncPluginConfig *config, OSyncPluginConnection *connection);
00221
00224 #endif
00225