- Timestamp:
- Apr 25, 2015, 10:49:34 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/core7/src/libraries/core/class/IdentifierManager.cc
r10372 r10395 58 58 59 59 /** 60 @brief Returns an identifier by name and adds it if not available61 @param proposal A pointer to a newly created identifier for the case of non existence in the map62 @return The identifier (unique instance)63 */64 Identifier* IdentifierManager::getGloballyUniqueIdentifier(Identifier* proposal)65 {66 const std::string& typeidName = proposal->getTypeidName();67 std::map<std::string, Identifier*>::const_iterator it = this->identifierByTypeidName_.find(typeidName);68 69 if (it != this->identifierByTypeidName_.end())70 {71 // There is already an entry: return it72 return it->second;73 }74 else75 {76 // There is no entry: put the proposal into the map and return it77 this->identifierByTypeidName_[typeidName] = proposal;78 return proposal;79 }80 }81 82 /**83 60 * Registers the identifier in all maps of the IdentifierManager. 84 61 */ 85 void IdentifierManager::addIdentifierToLookupMaps(Identifier* identifier) 86 { 87 const std::string& typeidName = identifier->getTypeidName(); 88 if (this->identifierByTypeidName_.find(typeidName) != this->identifierByTypeidName_.end()) 89 { 90 this->identifierByString_[identifier->getName()] = identifier; 91 this->identifierByLowercaseString_[getLowercase(identifier->getName())] = identifier; 92 this->identifierByNetworkId_[identifier->getNetworkID()] = identifier; 93 } 94 else 95 orxout(internal_warning) << "Trying to add an identifier to lookup maps which is not known to IdentifierManager" << endl; 62 void IdentifierManager::addIdentifier(Identifier* identifier) 63 { 64 orxout(verbose, context::identifier) << "Adding identifier for " << identifier->getName() << " / " << identifier->getTypeidName() << endl; 65 66 this->identifierByTypeidName_[identifier->getTypeidName()] = identifier; 67 this->identifierByString_[identifier->getName()] = identifier; 68 this->identifierByLowercaseString_[getLowercase(identifier->getName())] = identifier; 69 this->identifierByNetworkId_[identifier->getNetworkID()] = identifier; 96 70 } 97 71 … … 272 246 273 247 /** 248 @brief Returns the Identifier with a given typeid-name. 249 @param name The typeid-name of the wanted Identifier 250 @return The Identifier 251 */ 252 Identifier* IdentifierManager::getIdentifierByTypeidName(const std::string& typeidName) 253 { 254 std::map<std::string, Identifier*>::const_iterator it = this->identifierByTypeidName_.find(typeidName); 255 if (it != this->identifierByTypeidName_.end()) 256 return it->second; 257 else 258 return 0; 259 } 260 261 /** 274 262 @brief Cleans the NetworkID map (needed on clients for correct initialization) 275 263 */
Note: See TracChangeset
for help on using the changeset viewer.