Index: chromecast/service/cast_service.h |
diff --git a/chromecast/service/cast_service.h b/chromecast/service/cast_service.h |
index de408b4cc6cbd09dbb977f12af777c1193a4cefc..606f8f7c87b6d89850fe6efccf72adfa223afeea 100644 |
--- a/chromecast/service/cast_service.h |
+++ b/chromecast/service/cast_service.h |
@@ -8,39 +8,38 @@ |
#include "base/macros.h" |
#include "base/memory/scoped_ptr.h" |
-namespace aura { |
-class WindowTreeHost; |
-} |
- |
namespace base { |
class ThreadChecker; |
} |
namespace content{ |
class BrowserContext; |
-class WebContents; |
} |
namespace chromecast { |
class CastService { |
public: |
- explicit CastService(content::BrowserContext* browser_context); |
+ static CastService* Create(content::BrowserContext* browser_context); |
+ |
virtual ~CastService(); |
// Start/stop the cast service. |
void Start(); |
void Stop(); |
- private: |
- // Platform specific initialization if any. |
- static void PlatformInitialize(); |
+ protected: |
+ explicit CastService(content::BrowserContext* browser_context); |
+ virtual void Initialize() = 0; |
- void Initialize(); |
+ // Implementation-specific start/stop behavior. |
+ virtual void StartInternal() = 0; |
+ virtual void StopInternal() = 0; |
+ content::BrowserContext* browser_context() const { return browser_context_; } |
+ |
+ private: |
content::BrowserContext* const browser_context_; |
- scoped_ptr<aura::WindowTreeHost> window_tree_host_; |
- scoped_ptr<content::WebContents> web_contents_; |
bool stopped_; |
const scoped_ptr<base::ThreadChecker> thread_checker_; |