22 #ifndef OSYNC_ENVIRONMENT_H
23 #define OSYNC_ENVIRONMENT_H
27 #include <libqopensync/group.h>
28 #include <libqopensync/plugin.h>
29 #include <libqopensync/result.h>
30 #include <libqopensync/conversion.h>
44 friend class Environment;
47 GroupIterator( Environment *environment )
48 : mEnvironment( environment ), mPos( -1 )
52 GroupIterator(
const GroupIterator &it )
54 mEnvironment = it.mEnvironment;
60 return mEnvironment->groupAt( mPos );
63 GroupIterator &operator++() { mPos++;
return *
this; }
64 GroupIterator &operator++(
int ) { mPos++;
return *
this; }
65 GroupIterator &operator--() { mPos--;
return *
this; }
66 GroupIterator &operator--(
int ) { mPos--;
return *
this; }
67 bool operator==(
const GroupIterator &it ) {
return mEnvironment == it.mEnvironment && mPos == it.mPos; }
68 bool operator!=(
const GroupIterator &it ) {
return mEnvironment == it.mEnvironment && mPos != it.mPos; }
71 Environment *mEnvironment;
77 friend class Environment;
80 PluginIterator( Environment *environment )
81 : mEnvironment( environment ), mPos( -1 )
85 PluginIterator(
const PluginIterator &it )
87 mEnvironment = it.mEnvironment;
93 return mEnvironment->pluginAt( mPos );
96 PluginIterator &operator++() { mPos++;
return *
this; }
97 PluginIterator &operator++(
int ) { mPos++;
return *
this; }
98 PluginIterator &operator--() { mPos--;
return *
this; }
99 PluginIterator &operator--(
int ) { mPos--;
return *
this; }
100 bool operator==(
const PluginIterator &it ) {
return mEnvironment == it.mEnvironment && mPos == it.mPos; }
101 bool operator!=(
const PluginIterator &it ) {
return mEnvironment == it.mEnvironment && mPos != it.mPos; }
104 Environment *mEnvironment;
112 GroupIterator groupBegin();
118 GroupIterator groupEnd();
124 PluginIterator pluginBegin();
130 PluginIterator pluginEnd();
147 int groupCount()
const;
152 Group groupAt(
int pos )
const;
158 Group groupByName(
const TQString &name )
const;
170 Result removeGroup(
const Group &group );
175 int pluginCount()
const;
180 Plugin pluginAt(
int pos )
const;
186 Plugin pluginByName(
const TQString &name )
const;
191 Conversion conversion()
const;
194 OSyncEnv *mEnvironment;