Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Mar 9, 2008, 4:44:36 PM (17 years ago)
Author:
landauf
Message:

merged core branch to trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/trunk/src/orxonox/core/CoreIncludes.h

    r790 r871  
    4444// All needed header-files
    4545#include "Identifier.h"
     46#include "ClassManager.h"
    4647#include "Factory.h"
    4748#include "ClassFactory.h"
     
    5152#include "Debug.h"
    5253
     54
     55// All needed macros
    5356/**
    5457    @brief Intern macro, containing the common parts of RegisterObject and RegisterRootObject.
     
    5760*/
    5861#define InternRegisterObject(ClassName, bRootClass) \
    59     this->setIdentifier(orxonox::ClassIdentifier<ClassName>::registerClass(this->getParents(), #ClassName, bRootClass)); \
     62    this->setIdentifier(orxonox::ClassManager<ClassName>::getIdentifier()->registerClass(this->getParents(), #ClassName, bRootClass)); \
    6063    if (orxonox::Identifier::isCreatingHierarchy() && this->getParents()) \
    61         this->getParents()->add(this->getIdentifier()); \
    62     orxonox::ClassIdentifier<ClassName>::addObject(this)
     64        this->getParents()->insert(this->getParents()->end(), this->getIdentifier()); \
     65    orxonox::ClassManager<ClassName>::getIdentifier()->addObject(this)
    6366
    6467/**
     
    6871#define InternRegisterRootObject(ClassName) \
    6972    if (orxonox::Identifier::isCreatingHierarchy() && !this->getParents()) \
    70         this->setParents(new orxonox::IdentifierList()); \
     73        this->createParents(); \
    7174    InternRegisterObject(ClassName, true)
    7275
     
    7679*/
    7780#define RegisterObject(ClassName) \
    78     COUT(4) << "*** Register Object: " << #ClassName << std::endl; \
     81    COUT(5) << "*** Register Object: " << #ClassName << std::endl; \
    7982    InternRegisterObject(ClassName, false)
    8083
     
    8487*/
    8588#define RegisterRootObject(ClassName) \
    86     COUT(4) << "*** Register Root-Object: " << #ClassName << std::endl; \
     89    COUT(5) << "*** Register Root-Object: " << #ClassName << std::endl; \
    8790    InternRegisterRootObject(ClassName)
    88 
    89 /**
    90     @brief Exports the necessary templates in order to make them available to all libraries.
    91     @param ClassName The name of the Class
    92     @param LibraryName The name of the Library
    93 */
    94 #define ExportClass(ClassName, LibraryName) \
    95     template class _##LibraryName##Export orxonox::ClassIdentifier<ClassName>; \
    96     template class _##LibraryName##Export orxonox::ObjectList<ClassName>; \
    97     template class _##LibraryName##Export orxonox::ClassFactory<ClassName>
    98 
    99 /**
    100     @brief Exports the necessary templates in order to make them available to all libraries.
    101     @param ClassName The name of the Class
    102     @param LibraryName The name of the Library
    103 */
    104 #define ExportAbstractClass(ClassName, LibraryName) \
    105     template class _##LibraryName##Export orxonox::ClassIdentifier<ClassName>; \
    106     template class _##LibraryName##Export orxonox::ObjectList<ClassName>
    10791
    10892/**
     
    11195*/
    11296#define Class(ClassName) \
    113     ClassIdentifier<ClassName>::getIdentifier()
     97    ClassManager<ClassName>::getIdentifier()
    11498
    11599/**
     
    137121    { \
    138122        container##varname = new orxonox::ConfigValueContainer(this->getIdentifier()->getName(), #varname, varname = defvalue); \
    139         this->getIdentifier()->setConfigValueContainer(#varname, container##varname); \
     123        this->getIdentifier()->addConfigValueContainer(#varname, container##varname); \
    140124    } \
    141     container##varname->getValue(varname)
     125    container##varname->getValue(&varname)
    142126
    143127/**
     
    150134    { \
    151135        container##varname##reset->resetConfigValue(); \
    152         container##varname##reset->getValue(varname); \
     136        container##varname##reset->getValue(&varname); \
    153137    } \
    154138    else \
Note: See TracChangeset for help on using the changeset viewer.