diff options
Diffstat (limited to 'src/mongo/db/catalog/collection.h')
-rw-r--r-- | src/mongo/db/catalog/collection.h | 33 |
1 files changed, 13 insertions, 20 deletions
diff --git a/src/mongo/db/catalog/collection.h b/src/mongo/db/catalog/collection.h index 042c7a3a0c5..9c41f8478f3 100644 --- a/src/mongo/db/catalog/collection.h +++ b/src/mongo/db/catalog/collection.h @@ -330,19 +330,16 @@ public: virtual const CollatorInterface* getDefaultCollator() const = 0; }; -private: - static std::unique_ptr<Impl> makeImpl(Collection* _this, - OperationContext* opCtx, - StringData fullNS, - OptionalCollectionUUID uuid, - CollectionCatalogEntry* details, - RecordStore* recordStore, - DatabaseCatalogEntry* dbce); - public: - using factory_function_type = decltype(makeImpl); - - static void registerFactory(stdx::function<factory_function_type> factory); + static MONGO_DECLARE_SHIM((Collection * _this, + OperationContext* opCtx, + StringData fullNS, + OptionalCollectionUUID uuid, + CollectionCatalogEntry* details, + RecordStore* recordStore, + DatabaseCatalogEntry* dbce, + PrivateTo<Collection>) + ->std::unique_ptr<Impl>) makeImpl; explicit inline Collection(OperationContext* const opCtx, const StringData fullNS, @@ -350,7 +347,8 @@ public: CollectionCatalogEntry* const details, // does not own RecordStore* const recordStore, // does not own DatabaseCatalogEntry* const dbce) // does not own - : _pimpl(makeImpl(this, opCtx, fullNS, uuid, details, recordStore, dbce)) { + : _pimpl(makeImpl( + this, opCtx, fullNS, uuid, details, recordStore, dbce, PrivateCall<Collection>{})) { this->_impl().init(opCtx); } @@ -627,13 +625,8 @@ public: opCtx, validator, allowedFeatures, maxFeatureCompatibilityVersion); } - static StatusWith<ValidationLevel> parseValidationLevel(StringData); - static StatusWith<ValidationAction> parseValidationAction(StringData); - - static void registerParseValidationLevelImpl( - stdx::function<decltype(parseValidationLevel)> impl); - static void registerParseValidationActionImpl( - stdx::function<decltype(parseValidationAction)> impl); + static MONGO_DECLARE_SHIM((StringData)->StatusWith<ValidationLevel>) parseValidationLevel; + static MONGO_DECLARE_SHIM((StringData)->StatusWith<ValidationAction>) parseValidationAction; /** * Sets the validator for this collection. |