summaryrefslogtreecommitdiffstats
path: root/chrome/browser/remoting/remoting_options_handler.h
diff options
context:
space:
mode:
authorsergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-01-14 02:24:43 +0000
committersergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-01-14 02:24:43 +0000
commitff517c9129a429439d94eb42cddb15e9bf1c2e16 (patch)
tree6d8b74bab0d37762f8c93dc240a24dc08db7aa39 /chrome/browser/remoting/remoting_options_handler.h
parentf9108947ec8e6ed2c8b4fe98613a9fac09973a48 (diff)
downloadchromium_src-ff517c9129a429439d94eb42cddb15e9bf1c2e16.zip
chromium_src-ff517c9129a429439d94eb42cddb15e9bf1c2e16.tar.gz
chromium_src-ff517c9129a429439d94eb42cddb15e9bf1c2e16.tar.bz2
Show remoting host status on the advanced options page.
BUG=67218 TEST=Remoting status is shown on the advanced options page. Review URL: http://codereview.chromium.org/6214003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71410 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/remoting/remoting_options_handler.h')
-rw-r--r--chrome/browser/remoting/remoting_options_handler.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/chrome/browser/remoting/remoting_options_handler.h b/chrome/browser/remoting/remoting_options_handler.h
new file mode 100644
index 0000000..8a15cd3
--- /dev/null
+++ b/chrome/browser/remoting/remoting_options_handler.h
@@ -0,0 +1,42 @@
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_REMOTING_REMOTING_OPTIONS_HANDLER_H_
+#define CHROME_BROWSER_REMOTING_REMOTING_OPTIONS_HANDLER_H_
+
+#include "chrome/browser/service/service_process_control.h"
+
+class DOMUI;
+
+namespace remoting {
+
+// Remoting options handler is responsinble for showing correct status
+// of the chromoting host in the preferences. It listens to the
+// messages from the service process (by registering MessageHandler
+// callback in the ServiceProcessControl) and updates current status
+// as neccessary.
+class RemotingOptionsHandler
+ : public ServiceProcessControl::MessageHandler {
+ public:
+ RemotingOptionsHandler();
+ virtual ~RemotingOptionsHandler();
+
+ void Init(DOMUI* dom_ui);
+
+ // ServiceProcessControl::MessageHandler interface.
+ virtual void OnRemotingHostInfo(
+ const remoting::ChromotingHostInfo& host_info);
+
+ private:
+ void SetStatus(bool enabled, const std::string& login);
+
+ DOMUI* dom_ui_;
+ ServiceProcessControl* process_control_;
+
+ DISALLOW_COPY_AND_ASSIGN(RemotingOptionsHandler);
+};
+
+} // namespace remoting
+
+#endif // CHROME_BROWSER_REMOTING_REMOTING_OPTIONS_HANDLER_H_