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_SETTING
00025 #define IVT_PROFILE_SETTING
00026
00028
00029
00030
00032
00033 #include <IvTune/IvTuneExtender/IvtLibName.h>
00034
00035 #include <Inventor/SbString.h>
00036
00037 #include <Inventor/STL/map>
00038
00039 #ifdef _WIN32
00040 # if !defined(IvTuneExtenderAPI_EXPORTS)
00041 # ifndef OIV_DISABLE_AUTOLINK
00042 # pragma comment(lib,__IVTEXLIB)
00043 # endif
00044 # endif
00045 #endif //win
00046
00047 class IvtExtension;
00048
00067 class IVTEXTENDER_API IvtProfileSetting
00068 {
00069 public:
00070
00076 SbString getParameter( const SbString& name ) const ;
00077
00081 const std::map<SbString, SbString>& getParameters() const;
00082
00089 void setParameter( const SbString& name, const SbString& value );
00090
00097 void addControlledExtension( IvtExtension* ext, IvtProfileSetting* setting );
00098
00102 const std::map<IvtExtension*, IvtProfileSetting* >& getControlledExtensions() const;
00103
00109 void setControlledBy( IvtExtension* controlledBy );
00110
00115 IvtExtension* getControlledBy() const;
00116
00120 IvtProfileSetting();
00121
00125 virtual ~IvtProfileSetting();
00126
00127 private:
00128
00130 std::map<SbString, SbString> m_parameters;
00131
00133 std::map<IvtExtension*, IvtProfileSetting* > m_controlledExtensions;
00134
00136 IvtExtension* m_controlledBy;
00137 };
00138
00139 #endif // IVT_PROFILE_SETTING
00140
00141
00142