Index: remoting/host/it2me/it2me_host.h |
diff --git a/remoting/host/it2me/it2me_host.h b/remoting/host/it2me/it2me_host.h |
index b2eb7490315161f370e0c6a457688193c1280c4f..349232d27a1c4505ff5b5c756f3e1ff8bb68a633 100644 |
--- a/remoting/host/it2me/it2me_host.h |
+++ b/remoting/host/it2me/it2me_host.h |
@@ -16,10 +16,6 @@ |
class DictionaryValue; |
} |
-namespace policy { |
-class PolicyService; |
-} // namespace policy |
- |
namespace remoting { |
class ChromotingHost; |
@@ -32,7 +28,9 @@ |
class RsaKeyPair; |
namespace policy_hack { |
+ |
class PolicyWatcher; |
+ |
} // namespace policy_hack |
// These state values are duplicated in host_session.js. Remember to update |
@@ -62,8 +60,8 @@ |
}; |
It2MeHost( |
- scoped_ptr<ChromotingHostContext> context, |
- scoped_ptr<policy_hack::PolicyWatcher> policy_watcher, |
+ ChromotingHostContext* context, |
+ scoped_refptr<base::SingleThreadTaskRunner> task_runner, |
base::WeakPtr<It2MeHost::Observer> observer, |
const XmppSignalStrategy::XmppServerConfig& xmpp_server_config, |
const std::string& directory_bot_jid); |
@@ -93,7 +91,7 @@ |
~It2MeHost() override; |
- ChromotingHostContext* host_context() { return host_context_.get(); } |
+ ChromotingHostContext* host_context() { return host_context_; } |
scoped_refptr<base::SingleThreadTaskRunner> task_runner() { |
return task_runner_; |
} |
@@ -125,10 +123,6 @@ |
// the UI thread. |
void ShutdownOnUiThread(); |
- // Called when |policy_watcher_| has stopped listening for changes and it is |
- // safe to delete it. |
- void OnPolicyWatcherShutdown(); |
- |
// Called when initial policies are read, and when they change. |
void OnPolicyUpdate(scoped_ptr<base::DictionaryValue> policies); |
@@ -137,7 +131,10 @@ |
void UpdateHostDomainPolicy(const std::string& host_domain); |
// Caller supplied fields. |
- scoped_ptr<ChromotingHostContext> host_context_; |
+ |
+ // The creator of the It2MeHost object owns the the host context and is |
+ // responsible for keeping it alive throughout the liftime of the host. |
+ ChromotingHostContext* host_context_; |
scoped_refptr<base::SingleThreadTaskRunner> task_runner_; |
base::WeakPtr<It2MeHost::Observer> observer_; |
XmppSignalStrategy::XmppServerConfig xmpp_server_config_; |
@@ -184,21 +181,14 @@ |
It2MeHostFactory(); |
virtual ~It2MeHostFactory(); |
- // |policy_service| is used for creating the policy watcher for new |
- // instances of It2MeHost on ChromeOS. The caller must ensure that |
- // |policy_service| is valid throughout the lifetime of the It2MeHostFactory |
- // and each created It2MeHost object. This is currently possible because |
- // |policy_service| is a global singleton available from the browser process. |
- virtual void set_policy_service(policy::PolicyService* policy_service); |
- |
virtual scoped_refptr<It2MeHost> CreateIt2MeHost( |
- scoped_ptr<ChromotingHostContext> context, |
+ ChromotingHostContext* context, |
+ scoped_refptr<base::SingleThreadTaskRunner> task_runner, |
base::WeakPtr<It2MeHost::Observer> observer, |
const XmppSignalStrategy::XmppServerConfig& xmpp_server_config, |
const std::string& directory_bot_jid); |
private: |
- policy::PolicyService* policy_service_; |
DISALLOW_COPY_AND_ASSIGN(It2MeHostFactory); |
}; |