16 #ifndef __IPSDKBASEPROCESSING_DATAITEMATTRIBUTESRCMACROS_H__ 17 #define __IPSDKBASEPROCESSING_DATAITEMATTRIBUTESRCMACROS_H__ 29 #define IPSDK_IMPLEMENT_DATAITEM_ATTRIBUTE_BODY(libraryName, namespaceSeq, \ 30 className, eMsgEnum) \ 31 IPSDK_IMPLEMENT_SERIAL_WITHOUT_COPY(libraryName, namespaceSeq, className, 1) \ 32 const std::string& className::getNodeType() const \ 34 return className::ValueType::getTypeName(); \ 36 const std::string& className::getNodeTypeStr() \ 38 return className::ValueType::getTypeName(); \ 40 void className::init(const ValueType& dataItemNode) \ 42 boost::shared_ptr<ValueType> pDataItemNode(boost::make_shared<ValueType>(dataItemNode)); \ 43 initBase(pDataItemNode); \ 45 void className::init(const StorageType& pDataItemNode) \ 47 initBase(boost::const_pointer_cast<ValueType>(pDataItemNode)); \ 49 IPSDK_IMPLEMENT_ATTRIBUTE_BASE_BODY(className, eMsgEnum) \ 50 className::className() \ 52 StorageType pDefaultValue = retrieveDefaultValue(); \ 53 if (pDefaultValue.get() != 0) \ 54 init(pDefaultValue); \ 56 className::~className() \ 59 IPSDK_IMPLEMENT_SERIAL_WRITE(className, className::BaseDataItemAttributeClassType) \ 62 IPSDK_IMPLEMENT_SERIAL_READ(className, className::BaseDataItemAttributeClassType) \ 69 #define IPSDK_IMPLEMENT_FROM_EXISTING_DATAITEM_ATTRIBUTE(libraryName, namespaceSeq, \ 70 className, eMsgEnum) \ 71 IPSDK_IMPLEMENT_DATAITEM_ATTRIBUTE_BODY(libraryName, namespaceSeq, className, eMsgEnum) \ 72 IPSDK_IMPLEMENT_TOOLTIP(libraryName, className, eMsgEnum) 77 #define IPSDK_IMPLEMENT_DATAITEM_ATTRIBUTE(libraryName, namespaceSeq, className, eMsgEnum) \ 78 IPSDK_IMPLEMENT_NODE_DATA(libraryName, namespaceSeq, BOOST_PP_CAT(className, Node), eMsgEnum) \ 79 IPSDK_IMPLEMENT_DATAITEM_ATTRIBUTE_BODY(libraryName, namespaceSeq, className, eMsgEnum) \ 80 const std::string& className::getObjectName() const \ 82 return className::ValueType::getObjectNameStr(); \ 84 const std::string& className::getToolTip() const \ 86 return className::ValueType::getToolTipStr(); \ 88 const std::string& className::getObjectNameStr() \ 90 return className::ValueType::getObjectNameStr(); \ 92 const std::string& className::getToolTipStr() \ 94 return className::ValueType::getToolTipStr(); \ 100 #endif // __IPSDKBASEPROCESSING_DATAITEMATTRIBUTESRCMACROS_H__ Source part of data item node implementation macros.
Source part of macros set for attribute class implementation.