summaryrefslogtreecommitdiff
path: root/src/mongo/db/service_context.cpp
diff options
context:
space:
mode:
authorJonathan Reams <jbreams@mongodb.com>2015-04-30 09:47:35 -0400
committerJonathan Reams <jbreams@mongodb.com>2015-04-30 09:47:35 -0400
commitc269033226874638626b6c028bf0f81fa0af2006 (patch)
treeeda7eaf89b4389b245940fe5af3eac67e0807ba6 /src/mongo/db/service_context.cpp
parent88882960587d58c83f42ffaee6b3ab39b43be66c (diff)
downloadmongo-c269033226874638626b6c028bf0f81fa0af2006.tar.gz
SERVER-18099 Refactor buildinfo/version reporting
Diffstat (limited to 'src/mongo/db/service_context.cpp')
-rw-r--r--src/mongo/db/service_context.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/mongo/db/service_context.cpp b/src/mongo/db/service_context.cpp
index 4dade021ccc..a1d38162c5e 100644
--- a/src/mongo/db/service_context.cpp
+++ b/src/mongo/db/service_context.cpp
@@ -176,4 +176,26 @@ namespace mongo {
return result;
}
+ BSONArray storageEngineList() {
+ if (!hasGlobalServiceContext())
+ return BSONArray();
+
+ boost::scoped_ptr<StorageFactoriesIterator> sfi(
+ getGlobalServiceContext()->makeStorageFactoriesIterator());
+
+ if (!sfi)
+ return BSONArray();
+
+ BSONArrayBuilder engineArrayBuilder;
+
+ while (sfi->more()) {
+ engineArrayBuilder.append(sfi->next()->getCanonicalName());
+ }
+
+ return engineArrayBuilder.arr();
+ }
+
+ void appendStorageEngineList(BSONObjBuilder* result) {
+ result->append("storageEngines", storageEngineList());
+ }
} // namespace mongo