summaryrefslogtreecommitdiff
path: root/src/mongo/db/pipeline/mongo_process_interface.h
diff options
context:
space:
mode:
authorHenrik Edin <henrik.edin@mongodb.com>2018-09-24 14:10:22 -0400
committerHenrik Edin <henrik.edin@mongodb.com>2018-10-03 14:46:14 -0400
commit58501015eff7961dc378abe1d49e064a3dcf3dbc (patch)
treee0b41dd135ec7657605ca87e99b9ef2d3fa3baed /src/mongo/db/pipeline/mongo_process_interface.h
parent860b392d9d3c006090a4c7fc3c6f3fa5460e5c5c (diff)
downloadmongo-58501015eff7961dc378abe1d49e064a3dcf3dbc.tar.gz
SERVER-37295 Remove embedded dependency on process interface shard server.
Refactor process interface system to use shim to allow for separate factories for embedded and mongod.
Diffstat (limited to 'src/mongo/db/pipeline/mongo_process_interface.h')
-rw-r--r--src/mongo/db/pipeline/mongo_process_interface.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/mongo/db/pipeline/mongo_process_interface.h b/src/mongo/db/pipeline/mongo_process_interface.h
index 974fd2807d4..664c956c33a 100644
--- a/src/mongo/db/pipeline/mongo_process_interface.h
+++ b/src/mongo/db/pipeline/mongo_process_interface.h
@@ -35,6 +35,7 @@
#include <string>
#include <vector>
+#include "mongo/base/shim.h"
#include "mongo/client/dbclient_base.h"
#include "mongo/db/collection_index_usage_tracker.h"
#include "mongo/db/generic_cursor.h"
@@ -68,6 +69,13 @@ public:
enum class CurrentOpSessionsMode { kIncludeIdle, kExcludeIdle };
enum class CurrentOpCursorMode { kIncludeCursors, kExcludeCursors };
+ /**
+ * Factory function to create MongoProcessInterface of the right type. The implementation will
+ * be installed by a lib higher up in the link graph depending on the application type.
+ */
+ static MONGO_DECLARE_SHIM(
+ (OperationContext * opCtx)->std::shared_ptr<MongoProcessInterface>) create;
+
struct MakePipelineOptions {
MakePipelineOptions(){};