#include "MLObjMgrSystem.h"
#include "mlObjMgrSubDataType.h"
Go to the source code of this file.
◆ ATTRIBUTE_OP_HEADER
#define ATTRIBUTE_OP_HEADER |
( |
|
dataTypeName, |
|
|
|
dataType |
|
) |
| |
Value: void assign(const dataType &value) override; \
omAttribute &operator =(const dataType &value) { \
assign(value); return *this; \
}
Definition at line 53 of file mlObjMgrSubAttribute.h.
◆ ATTRIBUTE_OP_SOURCE
#define ATTRIBUTE_OP_SOURCE |
( |
|
dataTypeName, |
|
|
|
dataType |
|
) |
| |
Value: void omAttribute::assign(const dataType &value) { \
if(_data == NULL) { \
createDataType(
QUOTE(omAttribute_##dataTypeName)); \
\
if(_data == NULL) \
return; \
\
ObjMgr *om = _parent->parent()->objMgr(); \
if(om) { \
om->addEvent(ObjMgrEvent(ObjMgrEvent::ATTRIBUTE_CREATED, *this, omData(value))); \
om->disableEventRecording(); \
} \
\
*(omAttribute_##dataTypeName *)_data = value; \
\
if(om) { \
om->enableEventRecording(); \
} \
} \
else { \
*(omAttribute_##dataTypeName *)_data = value; \
} \
}
#define QUOTE(data)
This file declares data type subclass macros.
Definition at line 59 of file mlObjMgrSubAttribute.h.
◆ ATTRIBUTE_TYPE_HEADER
#define ATTRIBUTE_TYPE_HEADER |
( |
|
dataTypeName, |
|
|
|
dataType |
|
) |
| |
Value: class MLOBJMGR_EXPORT omAttribute_##dataTypeName : public omData_##dataTypeName \
{ \
ML_CLASS_HEADER(omAttribute_##dataTypeName) \
\
public: \
\
omAttribute_##dataTypeName() {} \
omAttribute_##dataTypeName(const dataType &value) : omData_##dataTypeName(value) {} \
void assign(const dataType &value) override; \
};
This file declares attribute subclass macros and the base attribute.
Definition at line 27 of file mlObjMgrSubAttribute.h.
◆ ATTRIBUTE_TYPE_SOURCE
#define ATTRIBUTE_TYPE_SOURCE |
( |
|
dataTypeName, |
|
|
|
dataType |
|
) |
| |
Value:
void omAttribute_##dataTypeName::assign(const dataType &value) { \
if(_value != value) { \
ObjMgr *om; \
if(_container && ((omAttribute *)_container)->parent() && ((omAttribute *)_container)->parent()->parent() && (om = ((omObject *)((omAttribute *)_container)->parent()->parent())->objMgr()) != NULL) { \
om->addEvent(ObjMgrEvent(ObjMgrEvent::ATTRIBUTE_MODIFIED, *(omAttribute *)_container, omData(value), omData(_value), false)); \
} \
\
_value = value; \
} \
}
#define ML_CLASS_SOURCE(className, parentName)
This macro has to be put into the source file of a non-abstract class to implement the methods declar...
Definition at line 39 of file mlObjMgrSubAttribute.h.