00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef IVT_PROFILE
00025 #define IVT_PROFILE
00026
00028
00029
00030
00032
00033 #include <IvTune/IvTuneExtender/IvtLibName.h>
00034
00035 #include <Inventor/SbString.h>
00036
00037 #include <Inventor/STL/map>
00038 #include <Inventor/STL/list>
00039
00040 #include <QObject>
00041
00042 #ifdef _WIN32
00043 # if !defined(IvTuneExtenderAPI_EXPORTS)
00044 # ifndef OIV_DISABLE_AUTOLINK
00045 # pragma comment(lib,__IVTUNEEXTENDERAPILIB)
00046 # endif
00047 # endif
00048 #endif //win
00049
00050
00051 class IvtExtension;
00052 class IvtProfileSetting;
00053
00068 class IvtProfile : public QObject
00069 {
00070 Q_OBJECT
00071 public:
00072
00077 void activate();
00078
00085 void addExtension( IvtExtension* extension, IvtProfileSetting* preference );
00086
00092 void addIncludeProfile( const SbString& profileName );
00093
00097 void deactivate();
00098
00103 const std::map<IvtExtension*, IvtProfileSetting*>& getExtensions() const;
00104
00108 const std::list<SbString>& getIncludeProfile() const;
00109
00113 SbString getName() const;
00114
00118 SbBool isActive() const;
00119
00125 void removeExtension( IvtExtension* extension );
00126
00132 IvtProfile( const SbString& name );
00133
00137 virtual ~IvtProfile();
00138
00139 private:
00140
00142 SbString m_name;
00143
00145 SbBool m_isActive;
00146
00148 std::map<IvtExtension*, IvtProfileSetting*> m_extensions;
00149
00151 std::list<SbString> m_includeProfiles;
00152 };
00153
00154 #endif // IVT_PROFILE
00155
00156