76#define OBJECT_METHODS(Object, object_name) \
77 void DataManager::Add(lib::Object& data) { \
78 ADD_BY_LINK(Object, object_name); \
79 } \
80 \
81 void DataManager::Add(const lib::Object& data) { \
82 ADD_BY_LINK(Object, object_name); \
83 } \
84 \
85 ADD_BY_GUI_POINTER(Object, object_name) \
86 \
87 void DataManager::Add(std::vector<lib::Object>& new_##object_name##s) { \
88 ADD_BY_VECTOR(object_name); \
89 } \
90 \
91 void DataManager::Add( \
92 const std::vector<lib::Object>& new_##object_name##s) { \
93 ADD_BY_VECTOR(object_name); \
94 } \
95 \
96 void DataManager::Set(std::vector<gui::Object*> object_name##s) { \
97 SET_BY_VECTOR(object_name); \
98 } \
99 \
100 void DataManager::Set(std::vector<lib::Object>& object_name##s) { \
101 SET_BY_VECTOR(object_name); \
102 } \
103 \
104 void DataManager::Set(const std::vector<lib::Object>& object_name##s) { \
105 SET_BY_VECTOR(object_name); \
106 } \
107 \
108 GET_OBJECTS(Object, object_name)