OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // This interfaces is for managing the global services of the application. Each | 5 // This interfaces is for managing the global services of the application. Each |
6 // service is lazily created when requested the first time. The service getters | 6 // service is lazily created when requested the first time. The service getters |
7 // will return NULL if the service is not available, so callers must check for | 7 // will return NULL if the service is not available, so callers must check for |
8 // this condition. | 8 // this condition. |
9 | 9 |
10 #ifndef CHROME_BROWSER_BROWSER_PROCESS_H_ | 10 #ifndef CHROME_BROWSER_BROWSER_PROCESS_H_ |
11 #define CHROME_BROWSER_BROWSER_PROCESS_H_ | 11 #define CHROME_BROWSER_BROWSER_PROCESS_H_ |
12 | 12 |
13 #include <string> | 13 #include <string> |
14 #include <vector> | 14 #include <vector> |
15 | 15 |
16 #include "base/basictypes.h" | 16 #include "base/basictypes.h" |
17 | 17 |
18 class AutomationProviderList; | 18 class AutomationProviderList; |
19 class Clipboard; | 19 class Clipboard; |
20 class DevToolsManager; | 20 class DevToolsManager; |
21 class DownloadRequestManager; | 21 class DownloadRequestManager; |
22 class GoogleURLTracker; | 22 class GoogleURLTracker; |
23 class IconManager; | 23 class IconManager; |
24 class MetricsService; | 24 class MetricsService; |
| 25 class NotificationUIManager; |
25 class PrefService; | 26 class PrefService; |
26 class ProfileManager; | 27 class ProfileManager; |
27 class DebuggerWrapper; | 28 class DebuggerWrapper; |
28 class ResourceDispatcherHost; | 29 class ResourceDispatcherHost; |
29 class SuspendController; | 30 class SuspendController; |
30 class ThumbnailGenerator; | 31 class ThumbnailGenerator; |
31 class WebAppInstallerService; | 32 class WebAppInstallerService; |
32 | 33 |
33 namespace base { | 34 namespace base { |
34 class Thread; | 35 class Thread; |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
76 // Services: any of these getters may return NULL | 77 // Services: any of these getters may return NULL |
77 virtual ResourceDispatcherHost* resource_dispatcher_host() = 0; | 78 virtual ResourceDispatcherHost* resource_dispatcher_host() = 0; |
78 | 79 |
79 virtual MetricsService* metrics_service() = 0; | 80 virtual MetricsService* metrics_service() = 0; |
80 virtual ProfileManager* profile_manager() = 0; | 81 virtual ProfileManager* profile_manager() = 0; |
81 virtual PrefService* local_state() = 0; | 82 virtual PrefService* local_state() = 0; |
82 virtual DebuggerWrapper* debugger_wrapper() = 0; | 83 virtual DebuggerWrapper* debugger_wrapper() = 0; |
83 virtual DevToolsManager* devtools_manager() = 0; | 84 virtual DevToolsManager* devtools_manager() = 0; |
84 virtual Clipboard* clipboard() = 0; | 85 virtual Clipboard* clipboard() = 0; |
85 | 86 |
| 87 #if defined(OS_WIN) |
| 88 // Returns the manager for desktop notifications. |
| 89 virtual NotificationUIManager* notification_ui_manager() = 0; |
| 90 #endif |
| 91 |
86 // Returns the thread that we perform I/O coordination on (network requests, | 92 // Returns the thread that we perform I/O coordination on (network requests, |
87 // communication with renderers, etc. | 93 // communication with renderers, etc. |
88 // NOTE: need to check the return value for NULL. | 94 // NOTE: need to check the return value for NULL. |
89 virtual base::Thread* io_thread() = 0; | 95 virtual base::Thread* io_thread() = 0; |
90 | 96 |
91 // Returns the thread that we perform random file operations on. For code | 97 // Returns the thread that we perform random file operations on. For code |
92 // that wants to do I/O operations (not network requests or even file: URL | 98 // that wants to do I/O operations (not network requests or even file: URL |
93 // requests), this is the thread to use to avoid blocking the UI thread. | 99 // requests), this is the thread to use to avoid blocking the UI thread. |
94 // It might be nicer to have a thread pool for this kind of thing. | 100 // It might be nicer to have a thread pool for this kind of thing. |
95 virtual base::Thread* file_thread() = 0; | 101 virtual base::Thread* file_thread() = 0; |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
156 private: | 162 private: |
157 // User-data-dir based profiles. | 163 // User-data-dir based profiles. |
158 std::vector<std::wstring> user_data_dir_profiles_; | 164 std::vector<std::wstring> user_data_dir_profiles_; |
159 | 165 |
160 DISALLOW_COPY_AND_ASSIGN(BrowserProcess); | 166 DISALLOW_COPY_AND_ASSIGN(BrowserProcess); |
161 }; | 167 }; |
162 | 168 |
163 extern BrowserProcess* g_browser_process; | 169 extern BrowserProcess* g_browser_process; |
164 | 170 |
165 #endif // CHROME_BROWSER_BROWSER_PROCESS_H_ | 171 #endif // CHROME_BROWSER_BROWSER_PROCESS_H_ |
OLD | NEW |