Changeset 244 for code/branches/objecthierarchie/src/IdentifierIncludes.h
- Timestamp:
- Nov 25, 2007, 5:21:53 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/objecthierarchie/src/IdentifierIncludes.h
r231 r244 1 1 #include "Identifier.h" 2 2 #include "Factory.h" 3 #include "ClassFactory.h" 3 4 #include "IdentifierList.h" 4 5 #include "ObjectList.h" … … 7 8 8 9 9 #define internRegisterRootObject(ClassName, bAbstract) \ 10 if (Identifier::isCreatingHierarchy() && !this->getParents()) \ 11 this->setParents(new IdentifierList()); \ 12 this->setIdentifier(ClassIdentifier<ClassName>::registerClass(this->getParents(), #ClassName, true, bAbstract)); \ 10 #define InternRegisterObject(ClassName, bRootClass) \ 11 this->setIdentifier(ClassIdentifier<ClassName>::registerClass(this->getParents(), #ClassName, bRootClass)); \ 13 12 if (Identifier::isCreatingHierarchy() && this->getParents()) \ 14 13 this->getParents()->add(this->getIdentifier()); \ 15 14 ClassIdentifier<ClassName>::addObject(this) 16 15 16 #define InternRegisterRootObject(ClassName) \ 17 if (Identifier::isCreatingHierarchy() && !this->getParents()) \ 18 this->setParents(new IdentifierList()); \ 19 InternRegisterObject(ClassName, true) 20 17 21 #if HIERARCHY_VERBOSE 18 #define registerRootObject(ClassName) \19 std::cout << "*** Register Root-Object: " << #ClassName << "\n"; \20 internRegisterRootObject(ClassName, false)22 #define RegisterObject(ClassName) \ 23 std::cout << "*** Register Object: " << #ClassName << "\n"; \ 24 InternRegisterObject(ClassName, false) 21 25 #else 22 #define registerRootObject(ClassName) \23 internRegisterRootObject(ClassName, false)26 #define RegisterObject(ClassName) \ 27 InternRegisterObject(ClassName, false) 24 28 #endif 25 29 26 30 #if HIERARCHY_VERBOSE 27 #define registerAbstractRootObject(ClassName) \28 std::cout << "*** Register abstractRoot-Object: " << #ClassName << "\n"; \29 internRegisterRootObject(ClassName, true)31 #define RegisterRootObject(ClassName) \ 32 std::cout << "*** Register Root-Object: " << #ClassName << "\n"; \ 33 InternRegisterRootObject(ClassName) 30 34 #else 31 #define registerAbstractRootObject(ClassName) \32 internRegisterRootObject(ClassName, true)35 #define RegisterRootObject(ClassName) \ 36 InternRegisterRootObject(ClassName) 33 37 #endif 34 38 35 #define internRegisterObject(ClassName, bAbstract) \ 36 this->setIdentifier(ClassIdentifier<ClassName>::registerClass(this->getParents(), #ClassName, false, bAbstract)); \ 37 if (Identifier::isCreatingHierarchy() && this->getParents()) \ 38 this->getParents()->add(this->getIdentifier()); \ 39 ClassIdentifier<ClassName>::addObject(this) 40 41 #if HIERARCHY_VERBOSE 42 #define registerObject(ClassName) \ 43 std::cout << "*** Register Object: " << #ClassName << "\n"; \ 44 internRegisterObject(ClassName, false) 45 #else 46 #define registerObject(ClassName) \ 47 internRegisterObject(ClassName, false) 48 #endif 49 50 #if HIERARCHY_VERBOSE 51 #define registerAbstractObject(ClassName) \ 52 std::cout << "*** Register abstract Object: " << #ClassName << "\n"; \ 53 internRegisterObject(ClassName, true) 54 #else 55 #define registerAbstractObject(ClassName) \ 56 internRegisterObject(ClassName, true) 57 #endif 58 59 #define unregisterObject() \ 39 #define UnregisterObject() \ 60 40 this->getIdentifier()->removeObject(this) 61 41 … … 64 44 65 45 #define CreateFactory(ClassName) \ 66 Identifier* global_##ClassName##_Identifier = ClassIdentifier<ClassName>::getIdentifier()46 bool bCreated##ClassName##Factory = ClassFactory<ClassName>::create() 67 47 68 #define Factory(Name) \69 ClassFactory::fabricate(Name)48 #define ID(Name) \ 49 Factory::getIdentifier(Name)
Note: See TracChangeset
for help on using the changeset viewer.