Home | History | Annotate | Download | only in host
      1 // Copyright 2014 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 REMOTING_HOST_CAST_EXTENSION_H_
      6 #define REMOTING_HOST_CAST_EXTENSION_H_
      7 
      8 #include <string>
      9 
     10 #include "base/memory/ref_counted.h"
     11 #include "base/memory/scoped_ptr.h"
     12 #include "remoting/host/host_extension.h"
     13 
     14 namespace base {
     15 class SingleThreadTaskRunner;
     16 }  // namespace base
     17 
     18 namespace net {
     19 class URLRequestContextGetter;
     20 }  // namespace net
     21 
     22 namespace remoting {
     23 
     24 namespace protocol {
     25 struct NetworkSettings;
     26 }  // namespace protocol
     27 
     28 // CastExtension extends HostExtension to enable WebRTC support.
     29 class CastExtension : public HostExtension {
     30  public:
     31   CastExtension(
     32       scoped_refptr<base::SingleThreadTaskRunner> network_task_runner,
     33       scoped_refptr<net::URLRequestContextGetter> url_request_context_getter,
     34       const protocol::NetworkSettings& network_settings);
     35   virtual ~CastExtension();
     36 
     37   // HostExtension interface.
     38   virtual std::string capability() const OVERRIDE;
     39   virtual scoped_ptr<HostExtensionSession> CreateExtensionSession(
     40       ClientSessionControl* client_session_control,
     41       protocol::ClientStub* client_stub) OVERRIDE;
     42 
     43  private:
     44   scoped_refptr<base::SingleThreadTaskRunner> network_task_runner_;
     45   scoped_refptr<net::URLRequestContextGetter> url_request_context_getter_;
     46   const protocol::NetworkSettings& network_settings_;
     47 
     48   DISALLOW_COPY_AND_ASSIGN(CastExtension);
     49 };
     50 
     51 }  // namespace remoting
     52 
     53 #endif  // REMOTING_HOST_CAST_EXTENSION_H_
     54 
     55