void OMFile::registerFactory( OMStoredObjectFactory* factory ) { TRACE("OMFile::registerFactory"); PRECONDITION("Valid factory", factory != 0); OMStoredObjectEncoding encoding = factory->encoding(); PRECONDITION("Unique encoding", !hasFactory(encoding)); PRECONDITION("Unique name", !hasFactory(factory->name())); _factory->insert(encoding, factory); factory->initialize(); }
void ossimPlanetNodeRegistry::registerFactory(ossimPlanetNodeFactoryBase* factory, bool insertFrontFlag) { if(!hasFactory(factory)) { theFactoryListMutex.writeLock(); if(!insertFrontFlag) { theFactoryList.push_back(factory); } else { theFactoryList.insert(theFactoryList.begin(), factory); } theFactoryListMutex.writeUnlock(); } }