Changeset 7560 for code/branches/ois_update
- Timestamp:
- Oct 19, 2010, 11:22:55 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/ois_update/src/libraries/core/BaseObject.h
r7401 r7560 238 238 }; 239 239 240 SUPER_FUNCTION(0, BaseObject, XMLPort, false); 240 241 template <class T, int templatehack2> 242 struct SuperFunctionCondition<0, T, 0, templatehack2> 243 { 244 static void check() 245 { 246 SuperFunctionCondition<0, T, 0, templatehack2>::apply(static_cast<T*>(0)); 247 SuperFunctionCondition<0 + 1, T, 0, templatehack2>::check(); 248 } 249 250 static void apply(void* temp) {} 251 252 static void apply(BaseObject* temp) 253 { 254 ClassIdentifier<T>* identifier = ClassIdentifier<T>::getIdentifier(); 255 for (std::set<const Identifier*>::iterator it = identifier->getDirectChildrenIntern().begin(); it != identifier->getDirectChildrenIntern().end(); ++it) 256 { 257 if (((ClassIdentifier<T>*)(*it))->bSuperFunctionCaller_XMLPort_isFallback_ && ((ClassIdentifier<T>*)(*it))->superFunctionCaller_XMLPort_) 258 { 259 delete ((ClassIdentifier<T>*)(*it))->superFunctionCaller_XMLPort_; 260 ((ClassIdentifier<T>*)(*it))->superFunctionCaller_XMLPort_ = 0; 261 ((ClassIdentifier<T>*)(*it))->bSuperFunctionCaller_XMLPort_isFallback_ = false; 262 } 263 264 if (!((ClassIdentifier<T>*)(*it))->superFunctionCaller_XMLPort_) 265 { 266 COUT(5) << "Added SuperFunctionCaller for " << "XMLPort" << ": " << ClassIdentifier<T>::getIdentifier()->getName() << " <- " << ((ClassIdentifier<T>*)(*it))->getName() << std::endl; 267 ((ClassIdentifier<T>*)(*it))->superFunctionCaller_XMLPort_ = new SuperFunctionClassCaller_XMLPort <T>; 268 } 269 } 270 } 271 }; 272 273 274 //SUPER_FUNCTION(0, BaseObject, XMLPort, false); 241 275 SUPER_FUNCTION(2, BaseObject, changedActivity, false); 242 276 SUPER_FUNCTION(3, BaseObject, changedVisibility, false);
Note: See TracChangeset
for help on using the changeset viewer.