00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #include <opensync/opensync.h>
00024 #include <opensync/opensync-plugin.h>
00025
00026 #include "plugin.h"
00027 #include "result.h"
00028
00029 #include "pluginenv.h"
00030
00031 using namespace QSync;
00032
00033 PluginEnv::PluginEnv()
00034 {
00035 OSyncError *error = 0;
00036 mPluginEnv = osync_plugin_env_new( &error );
00037 }
00038
00039 PluginEnv::~PluginEnv()
00040 {
00041 osync_plugin_env_free( mPluginEnv );
00042 }
00043
00044 Result PluginEnv::initialize()
00045 {
00046 OSyncError *error = 0;
00047 if ( !osync_plugin_env_load( mPluginEnv, NULL, &error ) )
00048 return Result( &error );
00049 else
00050 return Result();
00051 }
00052
00053 Result PluginEnv::finalize()
00054 {
00055 osync_plugin_env_free( mPluginEnv );
00056 return Result();
00057 }
00058
00059 int PluginEnv::pluginCount() const
00060 {
00061 return osync_plugin_env_num_plugins( mPluginEnv );
00062 }
00063
00064 Plugin PluginEnv::pluginAt( int pos ) const
00065 {
00066 Plugin plugin;
00067
00068 if ( pos < 0 || pos >= pluginCount() )
00069 return plugin;
00070
00071 OSyncPlugin *oplugin = osync_plugin_env_nth_plugin( mPluginEnv, pos );
00072 plugin.mPlugin = oplugin;
00073
00074 return plugin;
00075 }
00076
00077 Plugin PluginEnv::pluginByName( const TQString &name ) const
00078 {
00079 Plugin plugin;
00080
00081 OSyncPlugin *oplugin = osync_plugin_env_find_plugin( mPluginEnv, name.latin1() );
00082 if ( oplugin )
00083 plugin.mPlugin = oplugin;
00084
00085 return plugin;
00086 }
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096