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,__IVTEXLIB)
00046 # endif
00047 # endif
00048 #endif //win
00049
00050
00051 class IvtExtension;
00052 class IvtProfileSetting;
00053
00069 class IVTEXTENDER_API IvtProfile : public QObject
00070 {
00071 Q_OBJECT
00072 public:
00073
00078 void activate();
00079
00086 void addExtension( IvtExtension* extension, IvtProfileSetting* preference );
00087
00093 void addIncludeProfile( const SbString& profileName );
00094
00098 void deactivate();
00099
00104 const std::map<IvtExtension*, IvtProfileSetting*>& getExtensions() const;
00105
00109 const std::list<SbString>& getIncludeProfile() const;
00110
00114 SbString getName() const;
00115
00119 SbBool isActive() const;
00120
00126 void removeExtension( IvtExtension* extension );
00127
00133 IvtProfile( const SbString& name );
00134
00138 virtual ~IvtProfile();
00139
00140 private:
00141
00143 SbString m_name;
00144
00146 SbBool m_isActive;
00147
00149 std::map<IvtExtension*, IvtProfileSetting*> m_extensions;
00150
00152 std::list<SbString> m_includeProfiles;
00153 };
00154
00155 #endif // IVT_PROFILE
00156
00157