00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include "environment.h"
00023
00024 #include <opensync/opensync.h>
00025
00026 using namespace QSync;
00027
00028 Environment::Environment()
00029 {
00030 mEnvironment = osync_env_new();
00031 }
00032
00033 Environment::~Environment()
00034 {
00035 osync_env_free( mEnvironment );
00036 }
00037
00038 Environment::GroupIterator Environment::groupBegin()
00039 {
00040 GroupIterator it( this );
00041 it.mPos = 0;
00042
00043 return it;
00044 }
00045
00046 Environment::GroupIterator Environment::groupEnd()
00047 {
00048 GroupIterator it( this );
00049 it.mPos = groupCount();
00050
00051 return it;
00052 }
00053
00054 Environment::PluginIterator Environment::pluginBegin()
00055 {
00056 PluginIterator it( this );
00057 it.mPos = 0;
00058
00059 return it;
00060 }
00061
00062 Environment::PluginIterator Environment::pluginEnd()
00063 {
00064 PluginIterator it( this );
00065 it.mPos = pluginCount();
00066
00067 return it;
00068 }
00069
00070 Result Environment::initialize()
00071 {
00072 OSyncError *error = 0;
00073 if ( !osync_env_initialize( mEnvironment, &error ) )
00074 return Result( &error );
00075 else
00076 return Result();
00077 }
00078
00079 Result Environment::finalize()
00080 {
00081 OSyncError *error = 0;
00082 if ( !osync_env_finalize( mEnvironment, &error ) )
00083 return Result( &error);
00084 else
00085 return Result();
00086 }
00087
00088 int Environment::groupCount() const
00089 {
00090 return osync_env_num_groups( mEnvironment );
00091 }
00092
00093 Group Environment::groupAt( int pos ) const
00094 {
00095 Group group;
00096
00097 if ( pos < 0 || pos >= groupCount() )
00098 return group;
00099
00100 OSyncGroup *ogroup = osync_env_nth_group( mEnvironment, pos );
00101 group.mGroup = ogroup;
00102
00103 return group;
00104 }
00105
00106 Group Environment::groupByName( const TQString &name ) const
00107 {
00108 Group group;
00109
00110 OSyncGroup *ogroup = osync_env_find_group( mEnvironment, name.latin1() );
00111 if ( ogroup )
00112 group.mGroup = ogroup;
00113
00114 return group;
00115 }
00116
00117 Group Environment::addGroup()
00118 {
00119 Group group;
00120
00121 OSyncGroup *ogroup = osync_group_new( mEnvironment );
00122 if ( ogroup )
00123 group.mGroup = ogroup;
00124
00125 return group;
00126 }
00127
00128 Result Environment::removeGroup( const Group &group )
00129 {
00130 OSyncError *error = 0;
00131 if ( !osync_group_delete( group.mGroup, &error ) )
00132 return Result( &error );
00133 else
00134 return Result();
00135 }
00136
00137 int Environment::pluginCount() const
00138 {
00139 return osync_env_num_plugins( mEnvironment );
00140 }
00141
00142 Plugin Environment::pluginAt( int pos ) const
00143 {
00144 Plugin plugin;
00145
00146 if ( pos < 0 || pos >= pluginCount() )
00147 return plugin;
00148
00149 OSyncPlugin *oplugin = osync_env_nth_plugin( mEnvironment, pos );
00150 plugin.mPlugin = oplugin;
00151
00152 return plugin;
00153 }
00154
00155 Plugin Environment::pluginByName( const TQString &name ) const
00156 {
00157 Plugin plugin;
00158
00159 OSyncPlugin *oplugin = osync_env_find_plugin( mEnvironment, name.latin1() );
00160 if ( oplugin )
00161 plugin.mPlugin = oplugin;
00162
00163 return plugin;
00164 }
00165
00166 Conversion Environment::conversion() const
00167 {
00168 Conversion conversion;
00169 conversion.mEnvironment = mEnvironment;
00170
00171 return conversion;
00172 }