Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Sep 29, 2008, 4:15:03 AM (16 years ago)
Author:
landauf
Message:
  • some small adjustments in identifier and co.
  • renamed GetIdentifier to ClassByName and ClassByID
File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/trunk/src/core/Identifier.cc

    r1747 r1856  
    115115            identifiers[name] = proposal;
    116116            return proposal;
     117        }
     118    }
     119
     120    /**
     121        @brief Registers a class, which means that the name and the parents get stored.
     122        @param parents A list, containing the Identifiers of all parents of the class
     123        @param bRootClass True if the class is either an Interface or the BaseObject itself
     124    */
     125    void Identifier::initializeClassHierarchy(std::set<const Identifier*>* parents, bool bRootClass)
     126    {
     127        // Check if at least one object of the given type was created
     128        if (!this->bCreatedOneObject_ && Identifier::isCreatingHierarchy())
     129        {
     130            // If no: We have to store the informations and initialize the Identifier
     131            COUT(4) << "*** ClassIdentifier: Register Class in " << this->getName() << "-Singleton -> Initialize Singleton." << std::endl;
     132            if (bRootClass)
     133                this->initialize(0); // If a class is derived from two interfaces, the second interface might think it's derived from the first because of the order of constructor-calls. Thats why we set parents to zero in that case.
     134            else
     135                this->initialize(parents);
    117136        }
    118137    }
Note: See TracChangeset for help on using the changeset viewer.