diff options
Diffstat (limited to 'src/mongo/db/catalog/index_catalog_impl.cpp')
-rw-r--r-- | src/mongo/db/catalog/index_catalog_impl.cpp | 45 |
1 files changed, 20 insertions, 25 deletions
diff --git a/src/mongo/db/catalog/index_catalog_impl.cpp b/src/mongo/db/catalog/index_catalog_impl.cpp index e19773b34fd..76bb7aa4b8a 100644 --- a/src/mongo/db/catalog/index_catalog_impl.cpp +++ b/src/mongo/db/catalog/index_catalog_impl.cpp @@ -70,38 +70,33 @@ #include "mongo/util/represent_as.h" namespace mongo { -namespace { -MONGO_INITIALIZER(InitializeIndexCatalogFactory)(InitializerContext* const) { - IndexCatalog::registerFactory([]( - IndexCatalog* const this_, Collection* const collection, const int maxNumIndexesAllowed) { - return stdx::make_unique<IndexCatalogImpl>(this_, collection, maxNumIndexesAllowed); - }); - return Status::OK(); +MONGO_REGISTER_SHIM(IndexCatalog::makeImpl) +(IndexCatalog* const this_, + Collection* const collection, + const int maxNumIndexesAllowed, + PrivateTo<IndexCatalog>) + ->std::unique_ptr<IndexCatalog::Impl> { + return std::make_unique<IndexCatalogImpl>(this_, collection, maxNumIndexesAllowed); } -MONGO_INITIALIZER(InitializeIndexCatalogIndexIteratorFactory)(InitializerContext* const) { - IndexCatalog::IndexIterator::registerFactory([](OperationContext* const opCtx, - const IndexCatalog* const cat, - const bool includeUnfinishedIndexes) { - return stdx::make_unique<IndexCatalogImpl::IndexIteratorImpl>( - opCtx, cat, includeUnfinishedIndexes); - }); - return Status::OK(); +MONGO_REGISTER_SHIM(IndexCatalog::IndexIterator::makeImpl) +(OperationContext* const opCtx, + const IndexCatalog* const cat, + const bool includeUnfinishedIndexes, + PrivateTo<IndexCatalog::IndexIterator>) + ->std::unique_ptr<IndexCatalog::IndexIterator::Impl> { + return std::make_unique<IndexCatalogImpl::IndexIteratorImpl>( + opCtx, cat, includeUnfinishedIndexes); } - -MONGO_INITIALIZER(InitializeFixIndexKeyImpl)(InitializerContext* const) { - IndexCatalog::registerFixIndexKeyImpl(&IndexCatalogImpl::fixIndexKey); - return Status::OK(); +MONGO_REGISTER_SHIM(IndexCatalog::fixIndexKey)(const BSONObj& key)->BSONObj { + return IndexCatalogImpl::fixIndexKey(key); } -MONGO_INITIALIZER(InitializePrepareInsertDeleteOptionsImpl)(InitializerContext* const) { - IndexCatalog::registerPrepareInsertDeleteOptionsImpl( - &IndexCatalogImpl::prepareInsertDeleteOptions); - return Status::OK(); +MONGO_REGISTER_SHIM(IndexCatalog::prepareInsertDeleteOptions) +(OperationContext* opCtx, const IndexDescriptor* desc, InsertDeleteOptions* options)->void { + return IndexCatalogImpl::prepareInsertDeleteOptions(opCtx, desc, options); } -} // namespace - using std::unique_ptr; using std::endl; using std::string; |