diff options
author | Jonathan Reams <jbreams@mongodb.com> | 2015-04-30 09:47:35 -0400 |
---|---|---|
committer | Jonathan Reams <jbreams@mongodb.com> | 2015-04-30 09:47:35 -0400 |
commit | c269033226874638626b6c028bf0f81fa0af2006 (patch) | |
tree | eda7eaf89b4389b245940fe5af3eac67e0807ba6 /src/mongo/db/service_context.cpp | |
parent | 88882960587d58c83f42ffaee6b3ab39b43be66c (diff) | |
download | mongo-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.cpp | 22 |
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 |