TuttleOFX  1
TuttleOFX/libraries/tuttle/src/tuttle/host/ofx/attribute/OfxhParamAccessor.hpp
Go to the documentation of this file.
00001 #ifndef _TUTTLE_HOST_OFX_PARAM_PARAMACCESSOR_HPP_
00002 #define _TUTTLE_HOST_OFX_PARAM_PARAMACCESSOR_HPP_
00003 
00004 #include "OfxhAttributeAccessor.hpp"
00005 
00006 #include <ofxParam.h>
00007 
00008 #include <string>
00009 
00010 namespace tuttle {
00011 namespace host {
00012 namespace ofx {
00013 namespace attribute {
00014 
00015 /// base class for all params
00016 class OfxhParamAccessor : virtual public OfxhAttributeAccessor
00017 {
00018 public:
00019         OfxhParamAccessor();
00020         //        ParamAccessor( const ParamAccessor& other );
00021         virtual ~OfxhParamAccessor() = 0;
00022 
00023         /// grab a handle on the parameter for passing to the C API
00024         virtual OfxParamHandle getParamHandle() const = 0;
00025 
00026         virtual bool verifyMagic() { return true; }
00027 
00028         const std::string& getParamType() const;
00029         std::string getParamTypeName() const;
00030 
00031         const std::string& getParentName() const;
00032 
00033         /// @todo tuttle : common to all attributes
00034         const std::string& getScriptName() const;
00035 
00036         /// @todo tuttle : common to all attributes
00037         const std::string& getHint() const;
00038 
00039         const std::string& getDoubleType() const;
00040 
00041         const std::string& getCacheInvalidation() const;
00042 
00043         bool getEnabled() const;
00044 
00045         bool getCanUndo() const;
00046 
00047         bool getSecret() const;
00048 
00049         bool getEvaluateOnChange() const;
00050 
00051         bool getCanAnimate() const;
00052 };
00053 
00054 }
00055 }
00056 }
00057 }
00058 
00059 #endif
00060