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_ |