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 #include "remoting/host/cast_extension.h"
      6 
      7 #include "net/url_request/url_request_context_getter.h"
      8 #include "remoting/host/cast_extension_session.h"
      9 #include "remoting/protocol/network_settings.h"
     10 
     11 namespace remoting {
     12 
     13 const char kCapability[] = "casting";
     14 
     15 CastExtension::CastExtension(
     16     scoped_refptr<base::SingleThreadTaskRunner> network_task_runner,
     17     scoped_refptr<net::URLRequestContextGetter> url_request_context_getter,
     18     const protocol::NetworkSettings& network_settings)
     19     : network_task_runner_(network_task_runner),
     20       url_request_context_getter_(url_request_context_getter),
     21       network_settings_(network_settings) {
     22 }
     23 
     24 CastExtension::~CastExtension() {
     25 }
     26 
     27 std::string CastExtension::capability() const {
     28   return kCapability;
     29 }
     30 
     31 scoped_ptr<HostExtensionSession> CastExtension::CreateExtensionSession(
     32     ClientSessionControl* client_session_control,
     33     protocol::ClientStub* client_stub) {
     34   return CastExtensionSession::Create(network_task_runner_,
     35                                       url_request_context_getter_,
     36                                       network_settings_,
     37                                       client_session_control,
     38                                       client_stub)
     39       .PassAs<HostExtensionSession>();
     40 }
     41 
     42 }  // namespace remoting
     43 
     44