15 #ifndef __IPSDKBASEPROCESSING_VALUEATTRIBUTEHDRMACROS_H__ 16 #define __IPSDKBASEPROCESSING_VALUEATTRIBUTEHDRMACROS_H__ 19 #include <IPSDKBaseProcessing/Attribute/Value/InOut/BaseInOutMandatoryValueAttribute.h> 20 #include <IPSDKBaseProcessing/Attribute/Value/InOut/BaseInOutOptionalValueAttribute.h> 21 #include <IPSDKBaseProcessing/Attribute/Value/Input/BaseInputMandatoryValueAttribute.h> 22 #include <IPSDKBaseProcessing/Attribute/Value/Input/BaseInputOptionalValueAttribute.h> 23 #include <IPSDKBaseProcessing/Attribute/Value/Output/BaseOutputMandatoryValueAttribute.h> 24 #include <IPSDKBaseProcessing/Attribute/Value/Output/BaseOutputOptionalValueAttribute.h> 26 #include <boost/smart_ptr/make_shared_object.hpp> 33 #define IPSDK_DECLARE_VALUE_ATTRIBUTE_BODY(libraryName, className, baseClassName, RuleString) \ 34 IPSDK_DECLARE_SERIAL_WITHOUT_COPY(libraryName, className) \ 35 IPSDK_DECLARE_TOOLTIP() \ 36 IPSDK_DECLARE_ATTRIBUTE_BASE_BODY(libraryName, className, RuleString) \ 38 typedef baseClassName BaseValueAttributeClassType; \ 47 #define IPSDK_DECLARE_VALUE_ATTRIBUTE(libraryName, className, baseClassName, RuleString) \ 48 class IPSDK_LIB_API(libraryName) className : public baseClassName { \ 49 IPSDK_DECLARE_VALUE_ATTRIBUTE_BODY(libraryName, className, baseClassName, RuleString) \ 55 #define IPSDK_DECLARE_OPTIONAL_VALUE_ATTRIBUTE(libraryName, className, baseClassName, \ 56 RuleString, defaultValue) \ 57 class IPSDK_LIB_API(libraryName) className : public baseClassName { \ 58 IPSDK_DECLARE_VALUE_ATTRIBUTE_BODY(libraryName, className, baseClassName, RuleString) \ 60 static inline ValueType retrieveDefaultValue() \ 62 return defaultValue; \ 73 #define IPSDK_DECLARE_INPUT_VALUE_ATTRIBUTE(libraryName, className, type, \ 75 IPSDK_DECLARE_VALUE_ATTRIBUTE(libraryName, className, \ 76 ipsdk::processor::BaseInputMandatoryValueAttribute<type>, \ 82 #define IPSDK_DECLARE_INOUT_VALUE_ATTRIBUTE(libraryName, className, type, \ 84 IPSDK_DECLARE_VALUE_ATTRIBUTE(libraryName, className, \ 85 ipsdk::processor::BaseInOutMandatoryValueAttribute<type>, \ 91 #define IPSDK_DECLARE_OUTPUT_VALUE_ATTRIBUTE(libraryName, className, type, \ 93 IPSDK_DECLARE_VALUE_ATTRIBUTE(libraryName, className, \ 94 ipsdk::processor::BaseOutputMandatoryValueAttribute<type>, \ 104 #define IPSDK_DECLARE_INPUT_OPTIONAL_VALUE_ATTRIBUTE(libraryName, className, type, \ 105 RuleString, defaultValue) \ 106 IPSDK_DECLARE_OPTIONAL_VALUE_ATTRIBUTE(libraryName, className, \ 107 ipsdk::processor::BaseInputOptionalValueAttribute<type>, \ 108 RuleString, defaultValue) 113 #define IPSDK_DECLARE_INOUT_OPTIONAL_VALUE_ATTRIBUTE(libraryName, className, type, \ 114 RuleString, defaultValue) \ 115 IPSDK_DECLARE_OPTIONAL_VALUE_ATTRIBUTE(libraryName, className, \ 116 ipsdk::processor::BaseInOutOptionalValueAttribute<type>, \ 117 RuleString, defaultValue) 122 #define IPSDK_DECLARE_OUTPUT_OPTIONAL_VALUE_ATTRIBUTE(libraryName, className, type, \ 123 RuleString, defaultValue) \ 124 IPSDK_DECLARE_OPTIONAL_VALUE_ATTRIBUTE(libraryName, className, \ 125 ipsdk::processor::BaseOutputOptionalValueAttribute<type>, \ 126 RuleString, defaultValue) 131 #endif // __IPSDKBASEPROCESSING_VALUEATTRIBUTEHDRMACROS_H__ Predefined operators for rules on value attributes.
Header part of macros set for attribute class declaration.