Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(44)

Side by Side Diff: chromecast/shell/browser/cast_browser_process.h

Issue 638803002: Reorganizes Chromecast code to better reflect functional dependencies. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: extra DEPS: chromecast/crash/android --> chromecast/common Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2014 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.
4
5 #ifndef CHROMECAST_SHELL_BROWSER_CAST_BROWSER_PROCESS_H_
6 #define CHROMECAST_SHELL_BROWSER_CAST_BROWSER_PROCESS_H_
7
8 #include "base/macros.h"
9 #include "base/memory/scoped_ptr.h"
10
11 namespace breakpad {
12 class CrashDumpManager;
13 } // namespace breakpad
14
15 namespace chromecast {
16 class CastService;
17 class WebCryptoServer;
18
19 namespace metrics {
20 class CastMetricsHelper;
21 class CastMetricsServiceClient;
22 } // namespace metrics
23
24 namespace shell {
25 class CastBrowserContext;
26 class RemoteDebuggingServer;
27
28 class CastBrowserProcess {
29 public:
30 // Gets the global instance of CastBrowserProcess. Does not create lazily and
31 // assumes the instance already exists.
32 static CastBrowserProcess* GetInstance();
33
34 CastBrowserProcess();
35 virtual ~CastBrowserProcess();
36
37 void SetBrowserContext(CastBrowserContext* browser_context);
38 void SetCastService(CastService* cast_service);
39 void SetRemoteDebuggingServer(RemoteDebuggingServer* remote_debugging_server);
40 void SetMetricsServiceClient(
41 metrics::CastMetricsServiceClient* metrics_service_client);
42 #if defined(OS_ANDROID)
43 void SetCrashDumpManager(breakpad::CrashDumpManager* crash_dump_manager);
44 #endif // defined(OS_ANDROID)
45
46 CastBrowserContext* browser_context() const { return browser_context_.get(); }
47 CastService* cast_service() const { return cast_service_.get(); }
48 metrics::CastMetricsServiceClient* metrics_service_client() const {
49 return metrics_service_client_.get();
50 }
51
52 private:
53 scoped_ptr<CastBrowserContext> browser_context_;
54 scoped_ptr<metrics::CastMetricsServiceClient> metrics_service_client_;
55 scoped_ptr<RemoteDebuggingServer> remote_debugging_server_;
56 #if defined(OS_ANDROID)
57 scoped_ptr<breakpad::CrashDumpManager> crash_dump_manager_;
58 #endif // defined(OS_ANDROID)
59
60 // Note: CastService must be destroyed before others.
61 scoped_ptr<CastService> cast_service_;
62
63 DISALLOW_COPY_AND_ASSIGN(CastBrowserProcess);
64 };
65
66 } // namespace shell
67 } // namespace chromecast
68
69 #endif // CHROMECAST_SHELL_BROWSER_CAST_BROWSER_PROCESS_H_
OLDNEW
« no previous file with comments | « chromecast/shell/browser/cast_browser_main_parts.cc ('k') | chromecast/shell/browser/cast_browser_process.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698