Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(636)

Side by Side Diff: remoting/client/ios/facade/host_info.cc

Issue 2871993003: Moving the iOS directory to be remoting top level. (Closed)
Patch Set: //remoting/ios was the old landing target for the internal iOS application. Fix. Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « remoting/client/ios/facade/host_info.h ('k') | remoting/client/ios/facade/host_list_fetcher.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2017 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/client/ios/facade/host_info.h"
6
7 #include "base/logging.h"
8
9 namespace remoting {
10
11 HostInfo::HostInfo() {}
12
13 HostInfo::HostInfo(const HostInfo& other) = default;
14
15 HostInfo::~HostInfo() {}
16
17 bool HostInfo::ParseHostInfo(const base::DictionaryValue& host_info) {
18 const base::ListValue* list_value = nullptr;
19
20 // Add TokenUrlPatterns to HostInfo.
21 if (host_info.GetList("tokenUrlPatterns", &list_value)) {
22 if (!list_value->empty()) {
23 for (const auto& item : *list_value) {
24 std::string token_url_pattern;
25 if (!item.GetAsString(&token_url_pattern)) {
26 return false;
27 }
28 token_url_patterns.push_back(token_url_pattern);
29 }
30 }
31 }
32
33 std::string response_status;
34 host_info.GetString("status", &response_status);
35 if (response_status == "ONLINE") {
36 status = kHostStatusOnline;
37 } else if (response_status == "OFFLINE") {
38 status = kHostStatusOffline;
39 } else {
40 LOG(ERROR) << "Unknown response status: " << response_status;
41 return false;
42 }
43
44 if (!host_info.GetString("hostId", &host_id)) {
45 LOG(ERROR) << "hostId was not found in host_info";
46 return false;
47 }
48
49 if (!host_info.GetString("hostName", &host_name)) {
50 LOG(ERROR) << "hostName was not found in host_info";
51 return false;
52 }
53
54 if (!host_info.GetString("publicKey", &public_key)) {
55 LOG(ERROR) << "publicKey was not found for " << host_name;
56 return false;
57 }
58
59 // If the host entry was created but the host was never online, then the jid
60 // is never set.
61 if (!host_info.GetString("jabberId", &host_jid) &&
62 status == kHostStatusOnline) {
63 LOG(ERROR) << host_name << " is online but is missing a jabberId";
64 return false;
65 }
66
67 host_info.GetString("hostOfflineReason", &offline_reason);
68
69 return true;
70 }
71
72 bool HostInfo::IsReadyForConnection() const {
73 return !host_jid.empty() && status == kHostStatusOnline;
74 }
75
76 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/client/ios/facade/host_info.h ('k') | remoting/client/ios/facade/host_list_fetcher.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698