summaryrefslogtreecommitdiffstats
path: root/remoting/host/cast_extension.cc
blob: 6b513f6c04e43d32e58e56eeaa824c09d7c75489 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// Copyright 2014 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.

#include "remoting/host/cast_extension.h"

#include "net/url_request/url_request_context_getter.h"
#include "remoting/host/cast_extension_session.h"
#include "remoting/protocol/network_settings.h"

namespace remoting {

const char kCapability[] = "casting";

CastExtension::CastExtension(
    scoped_refptr<base::SingleThreadTaskRunner> network_task_runner,
    scoped_refptr<net::URLRequestContextGetter> url_request_context_getter,
    const protocol::NetworkSettings& network_settings)
    : network_task_runner_(network_task_runner),
      url_request_context_getter_(url_request_context_getter),
      network_settings_(network_settings) {
}

CastExtension::~CastExtension() {
}

std::string CastExtension::capability() const {
  return kCapability;
}

scoped_ptr<HostExtensionSession> CastExtension::CreateExtensionSession(
    ClientSessionControl* client_session_control,
    protocol::ClientStub* client_stub) {
  return CastExtensionSession::Create(network_task_runner_,
                                      url_request_context_getter_,
                                      network_settings_,
                                      client_session_control,
                                      client_stub).Pass();
}

}  // namespace remoting