1 // Copyright (c) 2011 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 CHROME_BROWSER_REMOTING_REMOTING_OPTIONS_HANDLER_H_ 6 #define CHROME_BROWSER_REMOTING_REMOTING_OPTIONS_HANDLER_H_ 7 8 #include "base/basictypes.h" 9 #include "chrome/browser/service/service_process_control.h" 10 11 class WebUI; 12 13 namespace remoting { 14 15 // Remoting options handler is responsinble for showing correct status 16 // of the chromoting host in the preferences. It listens to the 17 // messages from the service process (by registering MessageHandler 18 // callback in the ServiceProcessControl) and updates current status 19 // as neccessary. 20 class RemotingOptionsHandler : public ServiceProcessControl::MessageHandler { 21 public: 22 RemotingOptionsHandler(); 23 virtual ~RemotingOptionsHandler(); 24 25 void Init(WebUI* web_ui); 26 27 // ServiceProcessControl::MessageHandler interface. 28 virtual void OnRemotingHostInfo( 29 const remoting::ChromotingHostInfo& host_info); 30 31 private: 32 void SetStatus(bool enabled, const std::string& login); 33 34 WebUI* web_ui_; 35 ServiceProcessControl* process_control_; 36 37 DISALLOW_COPY_AND_ASSIGN(RemotingOptionsHandler); 38 }; 39 40 } // namespace remoting 41 42 #endif // CHROME_BROWSER_REMOTING_REMOTING_OPTIONS_HANDLER_H_ 43