summaryrefslogtreecommitdiffstats
path: root/remoting/test/remote_host_info.cc
blob: 3e794927dc04a4440b93bd2503ff4368775ae5d1 (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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
// Copyright 2015 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/protocol/authentication_method.h"
#include "remoting/test/remote_host_info.h"

#include "base/logging.h"

namespace {
const char kAppRemotingCapabilities[] =
    "rateLimitResizeRequests desktopShape sendInitialResolution googleDrive";
const char kFakeHostPublicKey[] = "FAKE_HOST_PUBLIC_KEY";
}

namespace remoting {
namespace test {

RemoteHostInfo::RemoteHostInfo()
    : remote_host_status(kRemoteHostStatusUnknown) {
}

RemoteHostInfo::~RemoteHostInfo() {
}

bool RemoteHostInfo::IsReadyForConnection() const {
  return remote_host_status == kRemoteHostStatusReady;
}

void RemoteHostInfo::SetRemoteHostStatusFromString(
    const std::string& status_string) {
  if (status_string == "done") {
    remote_host_status = kRemoteHostStatusReady;
  } else if (status_string == "pending") {
    remote_host_status = kRemoteHostStatusPending;
  } else {
    LOG(WARNING) << "Unknown status passed in: " << status_string;
    remote_host_status = kRemoteHostStatusUnknown;
  }
}

ConnectionSetupInfo RemoteHostInfo::GenerateConnectionSetupInfo(
    const std::string& access_token,
    const std::string& user_name) const {
  ConnectionSetupInfo connection_setup_info;
  connection_setup_info.access_token = access_token;
  connection_setup_info.authorization_code = authorization_code;
  connection_setup_info.capabilities = kAppRemotingCapabilities;
  connection_setup_info.host_id = host_id;
  connection_setup_info.host_jid = host_jid;
  connection_setup_info.public_key = kFakeHostPublicKey;
  connection_setup_info.shared_secret = shared_secret;
  connection_setup_info.user_name = user_name;

  connection_setup_info.auth_methods.push_back(
      protocol::AuthenticationMethod::ThirdParty());

  return connection_setup_info;
}

}  // namespace test
}  // namespace remoting