| Index: chrome/browser/extensions/extension_function_registry.h
|
| ===================================================================
|
| --- chrome/browser/extensions/extension_function_registry.h (revision 127187)
|
| +++ chrome/browser/extensions/extension_function_registry.h (working copy)
|
| @@ -1,56 +0,0 @@
|
| -// Copyright (c) 2012 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 CHROME_BROWSER_EXTENSIONS_EXTENSION_FUNCTION_REGISTRY_H_
|
| -#define CHROME_BROWSER_EXTENSIONS_EXTENSION_FUNCTION_REGISTRY_H_
|
| -#pragma once
|
| -
|
| -#include <map>
|
| -#include <string>
|
| -#include <vector>
|
| -
|
| -class ExtensionFunction;
|
| -
|
| -// A factory function for creating new ExtensionFunction instances.
|
| -typedef ExtensionFunction* (*ExtensionFunctionFactory)();
|
| -
|
| -// Template for defining ExtensionFunctionFactory.
|
| -template<class T>
|
| -ExtensionFunction* NewExtensionFunction() {
|
| - return new T();
|
| -}
|
| -
|
| -// Contains a list of all known extension functions and allows clients to
|
| -// create instances of them.
|
| -class ExtensionFunctionRegistry {
|
| - public:
|
| - static ExtensionFunctionRegistry* GetInstance();
|
| - explicit ExtensionFunctionRegistry();
|
| - virtual ~ExtensionFunctionRegistry();
|
| -
|
| - // Resets all functions to their default values.
|
| - void ResetFunctions();
|
| -
|
| - // Adds all function names to 'names'.
|
| - void GetAllNames(std::vector<std::string>* names);
|
| -
|
| - // Allows overriding of specific functions (e.g. for testing). Functions
|
| - // must be previously registered. Returns true if successful.
|
| - bool OverrideFunction(const std::string& name,
|
| - ExtensionFunctionFactory factory);
|
| -
|
| - // Factory method for the ExtensionFunction registered as 'name'.
|
| - ExtensionFunction* NewFunction(const std::string& name);
|
| -
|
| - template<class T>
|
| - void RegisterFunction() {
|
| - factories_[T::function_name()] = &NewExtensionFunction<T>;
|
| - }
|
| -
|
| - private:
|
| - typedef std::map<std::string, ExtensionFunctionFactory> FactoryMap;
|
| - FactoryMap factories_;
|
| -};
|
| -
|
| -#endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_FUNCTION_REGISTRY_H_
|
|
|