1234567891011121314151617181920212223242526272829 |
- // Copyright 2018 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- #ifndef EXTENSIONS_BROWSER_EXTENSIONS_BROWSER_API_PROVIDER_H_
- #define EXTENSIONS_BROWSER_EXTENSIONS_BROWSER_API_PROVIDER_H_
- class ExtensionFunctionRegistry;
- namespace extensions {
- // A class to provide browser-side, API-specific knowledge to the extensions
- // system. This allows for composition of multiple providers, so that we can
- // easily add or subtract features in different configurations.
- class ExtensionsBrowserAPIProvider {
- public:
- ExtensionsBrowserAPIProvider() = default;
- ExtensionsBrowserAPIProvider(const ExtensionsBrowserAPIProvider&) = delete;
- ExtensionsBrowserAPIProvider& operator=(const ExtensionsBrowserAPIProvider&) =
- delete;
- virtual ~ExtensionsBrowserAPIProvider() = default;
- // Registers any API functions in the given |registry|.
- virtual void RegisterExtensionFunctions(
- ExtensionFunctionRegistry* registry) = 0;
- };
- } // namespace extensions
- #endif // EXTENSIONS_BROWSER_EXTENSIONS_BROWSER_API_PROVIDER_H_
|