IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
BorderPolicyAttributeSrcMacros.h
Go to the documentation of this file.
1 // BorderPolicyAttributeSrcMacros.h:
3 // ---------------------------------
4 //
15 
16 #ifndef __IPSDKIMAGEPROCESSING_BORDERPOLICYATTRIBUTESRCMACROS_H__
17 #define __IPSDKIMAGEPROCESSING_BORDERPOLICYATTRIBUTESRCMACROS_H__
18 
20 
22 // Mandatory attributes
24 
28 #define IPSDK_IMPLEMENT_BORDER_POLICY_ATTRIBUTE(libraryName, namespaceSeq, className, \
29  eMsgEnum) \
30  IPSDK_IMPLEMENT_SERIAL_WITHOUT_COPY(libraryName, namespaceSeq, className, 1) \
31  IPSDK_IMPLEMENT_TOOLTIP(libraryName, className, eMsgEnum) \
32  IPSDK_IMPLEMENT_ATTRIBUTE_BASE_BODY(className, eMsgEnum) \
33  className::className() \
34  { \
35  } \
36  className::~className() \
37  { \
38  } \
39  void className::init(const ValueType& borderPolicy) \
40  { \
41  initBase(borderPolicy); \
42  } \
43  void className::init(const StorageType& pBorderPolicy) \
44  { \
45  initBase(*pBorderPolicy); \
46  } \
47  IPSDK_IMPLEMENT_SERIAL_WRITE(className, BaseBorderPolicyAttributeClassType) \
48  return true; \
49  } \
50  IPSDK_IMPLEMENT_SERIAL_READ(className, BaseBorderPolicyAttributeClassType) \
51  return true; \
52  }
53 
55 // Optional attributes
57 
61 #define IPSDK_IMPLEMENT_OPTIONAL_BORDER_POLICY_ATTRIBUTE(libraryName, namespaceSeq, className, eMsgEnum) \
62  IPSDK_IMPLEMENT_SERIAL_WITHOUT_COPY(libraryName, namespaceSeq, className, 1) \
63  IPSDK_IMPLEMENT_TOOLTIP(libraryName, className, eMsgEnum) \
64  IPSDK_IMPLEMENT_ATTRIBUTE_BASE_BODY(className, eMsgEnum) \
65  className::className() \
66  { \
67  BaseBorderPolicyAttributeClassType::initBase(getDefaultValue()); \
68  } \
69  className::~className() \
70  { \
71  } \
72  void className::init(const ValueType& borderPolicy) \
73  { \
74  initBase(borderPolicy); \
75  } \
76  void className::init(const StorageType& pBorderPolicy) \
77  { \
78  initBase(*pBorderPolicy); \
79  } \
80  IPSDK_IMPLEMENT_SERIAL_WRITE(className, BaseBorderPolicyAttributeClassType) \
81  return true; \
82  } \
83  IPSDK_IMPLEMENT_SERIAL_READ(className, BaseBorderPolicyAttributeClassType) \
84  return true; \
85  }
86 
89 
90 #endif // __IPSDKIMAGEPROCESSING_BORDERPOLICYATTRIBUTESRCMACROS_H__
Source part of macros set for attribute class implementation.