summaryrefslogtreecommitdiffstats
path: root/extensions/common/features/feature_provider.h
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/common/features/feature_provider.h')
-rw-r--r--extensions/common/features/feature_provider.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/extensions/common/features/feature_provider.h b/extensions/common/features/feature_provider.h
index 40d8ab8..ae97513 100644
--- a/extensions/common/features/feature_provider.h
+++ b/extensions/common/features/feature_provider.h
@@ -5,13 +5,18 @@
#ifndef EXTENSIONS_COMMON_FEATURES_FEATURE_PROVIDER_H_
#define EXTENSIONS_COMMON_FEATURES_FEATURE_PROVIDER_H_
+#include <map>
#include <string>
#include <vector>
+#include "base/memory/scoped_ptr.h"
+
namespace extensions {
class Feature;
+using FeatureMap = std::map<std::string, scoped_ptr<Feature>>;
+
// Implemented by classes that can vend features.
class FeatureProvider {
public:
@@ -52,8 +57,8 @@ class FeatureProvider {
// Returns the features inside the |parent| namespace, recursively.
virtual std::vector<Feature*> GetChildren(const Feature& parent) const = 0;
- // Returns all features described by this instance, in asciibetical order.
- virtual const std::vector<std::string>& GetAllFeatureNames() const = 0;
+ // Returns a map containing all features described by this instance.
+ virtual const FeatureMap& GetAllFeatures() const = 0;
};
} // namespace extensions