IObject* FactoryManager::createObject(const std::string& _category, const std::string& _type) { MapRegisterFactoryItem::iterator category = mRegisterFactoryItems.find(_category); if (category == mRegisterFactoryItems.end()) { return nullptr; } MapFactoryItem::iterator type = category->second.find(_type); if (type == category->second.end()) { return nullptr; } if (type->second.empty()) { return nullptr; } IObject* result = nullptr; type->second(result); return result; }
IObject* FactoryManager::createObject(const std::string& _category, const std::string& _type) { MapRegisterFactoryItem::iterator category = mRegisterFactoryItems.find(_category); if (category == mRegisterFactoryItems.end()) { return nullptr; } std::string typeName = BackwardCompatibility::getFactoryRename(_category, _type); MapFactoryItem::iterator type = category->second.find(typeName); if (type == category->second.end()) { return nullptr; } if (type->second.empty()) { return nullptr; } IObject* result = nullptr; type->second(result); return result; }