1// Copyright 2018 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef EXTENSIONS_COMMON_CORE_EXTENSIONS_API_PROVIDER_H_
6#define EXTENSIONS_COMMON_CORE_EXTENSIONS_API_PROVIDER_H_
7
8#include "base/macros.h"
9#include "extensions/common/extensions_api_provider.h"
10
11namespace extensions {
12
13class CoreExtensionsAPIProvider : public ExtensionsAPIProvider {
14 public:
15 CoreExtensionsAPIProvider();
16 ~CoreExtensionsAPIProvider() override;
17
18 // ExtensionsAPIProvider:
19 void AddAPIFeatures(FeatureProvider* provider) override;
20 void AddManifestFeatures(FeatureProvider* provider) override;
21 void AddPermissionFeatures(FeatureProvider* provider) override;
22 void AddBehaviorFeatures(FeatureProvider* provider) override;
23 void AddAPIJSONSources(JSONFeatureProviderSource* json_source) override;
24 bool IsAPISchemaGenerated(const std::string& name) override;
25 base::StringPiece GetAPISchema(const std::string& name) override;
26 void RegisterPermissions(PermissionsInfo* permissions_info) override;
27 void RegisterManifestHandlers() override;
28
29 private:
30 DISALLOW_COPY_AND_ASSIGN(CoreExtensionsAPIProvider);
31};
32
33} // namespace extensions
34
35#endif // EXTENSIONS_COMMON_CORE_EXTENSIONS_API_PROVIDER_H_
36