Enable Enterprise enrollment on desktop builds.
[chromium-blink-merge.git] / chrome / browser / extensions / api / tabs / tabs_windows_api.h
blob42c5ff69803225c8f82a6f43859a6b43c7c15b61
1 // Copyright (c) 2012 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.
5 #ifndef CHROME_BROWSER_EXTENSIONS_API_TABS_TABS_WINDOWS_API_H_
6 #define CHROME_BROWSER_EXTENSIONS_API_TABS_TABS_WINDOWS_API_H_
8 #include "base/memory/scoped_ptr.h"
9 #include "components/keyed_service/core/keyed_service.h"
10 #include "extensions/browser/browser_context_keyed_api_factory.h"
11 #include "extensions/browser/event_router.h"
13 namespace extensions {
14 class TabsEventRouter;
15 class WindowsEventRouter;
17 class TabsWindowsAPI : public BrowserContextKeyedAPI,
18 public EventRouter::Observer {
19 public:
20 explicit TabsWindowsAPI(content::BrowserContext* context);
21 virtual ~TabsWindowsAPI();
23 // Convenience method to get the TabsWindowsAPI for a profile.
24 static TabsWindowsAPI* Get(content::BrowserContext* context);
26 TabsEventRouter* tabs_event_router();
27 WindowsEventRouter* windows_event_router();
29 // KeyedService implementation.
30 virtual void Shutdown() OVERRIDE;
32 // BrowserContextKeyedAPI implementation.
33 static BrowserContextKeyedAPIFactory<TabsWindowsAPI>* GetFactoryInstance();
35 // EventRouter::Observer implementation.
36 virtual void OnListenerAdded(const extensions::EventListenerInfo& details)
37 OVERRIDE;
39 private:
40 friend class BrowserContextKeyedAPIFactory<TabsWindowsAPI>;
42 content::BrowserContext* browser_context_;
44 // BrowserContextKeyedAPI implementation.
45 static const char* service_name() {
46 return "TabsWindowsAPI";
48 static const bool kServiceIsNULLWhileTesting = true;
50 scoped_ptr<TabsEventRouter> tabs_event_router_;
51 scoped_ptr<WindowsEventRouter> windows_event_router_;
54 } // namespace extensions
56 #endif // CHROME_BROWSER_EXTENSIONS_API_TABS_TABS_WINDOWS_API_H_