Home | History | Annotate | Download | only in remoting
      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