Ticket #975: opensync_list_pattern_new.diff
| File opensync_list_pattern_new.diff, 4.2 KB (added by bricks, 3 years ago) |
|---|
-
opensync/plugin/opensync_plugin_env.h
### Eclipse Workspace Patch 1.0 #P libopensync-Source@opensync-db2
101 101 */ 102 102 OSYNC_EXPORT OSyncPlugin *osync_plugin_env_find_plugin(OSyncPluginEnv *env, const char *name); 103 103 104 /* * @brief Returns the number of loaded plugins104 /* @brief Get all plugins which are registered in the Plugin Env 105 105 * 106 * Returns the number of loaded plugins. 0 if used before initialization 107 * 108 * @param env Pointer to a OSyncPluginEnv environment 109 * @returns Number of plugins 110 * 106 * @param env Pointer to a OSyncPluginEnv 107 * @return A shallow copy of the internal plugin list 111 108 */ 112 OSYNC_EXPORT unsigned int osync_plugin_env_num_plugins(OSyncPluginEnv *env);109 OSYNC_EXPORT OSyncList *osync_plugin_env_get_plugins(OSyncPluginEnv *env); 113 110 114 /** @brief Returns pointer to nth plugin115 *116 * Returns pointer to nth plugin117 *118 * @param env Pointer to a OSyncPluginEnv environment119 * @param nth Which plugin to return120 * @returns Pointer to plugin121 *122 */123 OSYNC_EXPORT OSyncPlugin *osync_plugin_env_nth_plugin(OSyncPluginEnv *env, unsigned int nth);124 125 111 /*@}*/ 126 112 127 113 #endif /* _OPENSYNC_PLUGIN_ENV_H_ */ -
opensync/plugin/opensync_plugin_env_internals.h
50 50 */ 51 51 OSYNC_TEST_EXPORT osync_bool osync_plugin_env_plugin_is_usable(OSyncPluginEnv *env, const char *pluginname, OSyncError **error); 52 52 53 /** @brief Returns the number of loaded plugins 54 * 55 * Returns the number of loaded plugins. 0 if used before initialization 56 * 57 * @param env Pointer to a OSyncPluginEnv environment 58 * @returns Number of plugins 59 * 60 */ 61 OSYNC_EXPORT unsigned int osync_plugin_env_num_plugins(OSyncPluginEnv *env); 62 53 63 /*@}*/ 54 64 55 65 #endif /* _OPENSYNC_PLUGIN_ENV_INTERNALS_H_ */ -
tools/osyncplugin.c
1226 1226 if (!osync_plugin_env_load(plugin_env, pluginpath, error)) 1227 1227 goto error_free_formatenv; 1228 1228 1229 num= osync_plugin_env_num_plugins(plugin_env); 1229 OSyncList *plugins = osync_plugin_env_get_plugins(plugin_env); 1230 num = osync_list_length(plugins); 1230 1231 for(i= 0; i < num; i++) { 1231 OSyncPlugin* plugin = osync_plugin_env_nth_plugin(plugin_env, i);1232 OSyncPlugin* plugin = (OSyncPlugin*)osync_list_nth_data(plugins, i); 1232 1233 fprintf (stdout, "Name: %s\n", osync_plugin_get_name(plugin)); 1233 1234 fprintf (stdout, "Description: %s\n", osync_plugin_get_description(plugin)); 1234 1235 } -
wrapper/opensync-plugin.i
120 120 } 121 121 122 122 int num_plugins() { 123 return osync_plugin_env_num_plugins(self); 123 OSyncList *plugins = osync_plugin_env_get_plugins(self); 124 return osync_list_length(plugins); 124 125 } 125 126 126 127 Plugin *nth_plugin(int nth) { 127 Plugin *plugin = osync_plugin_env_nth_plugin(self, nth); 128 OSyncList *plugins = osync_plugin_env_get_plugins(self); 129 130 Plugin *plugin = (OSyncPlugin*)osync_list_nth_data(plugins, nth); 128 131 if (plugin) 129 132 osync_plugin_ref(plugin); 130 133 return plugin; -
opensync/plugin/opensync_plugin_env.c
214 214 return osync_list_length(env->plugins); 215 215 } 216 216 217 OSync Plugin *osync_plugin_env_nth_plugin(OSyncPluginEnv *env, unsigned int nth)217 OSyncList *osync_plugin_env_get_plugins(OSyncPluginEnv *env) 218 218 { 219 return (OSyncPlugin *)osync_list_nth_data(env->plugins, nth); 219 OSyncList *newlist = osync_list_alloc(); 220 return osync_list_copy(newlist); 220 221 } 221 222 222 223 osync_bool osync_plugin_env_plugin_is_usable(OSyncPluginEnv *env, const char *pluginname, OSyncError **error)
