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

Side by Side Diff: remoting/host/server_log_entry.cc

Issue 18075003: Host offline status reporting. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 7 years, 5 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/host/server_log_entry.h ('k') | remoting/protocol/name_value_map.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "remoting/host/server_log_entry.h" 5 #include "remoting/host/server_log_entry.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/strings/stringize_macros.h" 8 #include "base/strings/stringize_macros.h"
9 #include "base/sys_info.h" 9 #include "base/sys_info.h"
10 #include "remoting/base/constants.h" 10 #include "remoting/base/constants.h"
11 #include "remoting/protocol/session.h" 11 #include "remoting/protocol/session.h"
12 #include "third_party/libjingle/source/talk/xmllite/xmlelement.h" 12 #include "third_party/libjingle/source/talk/xmllite/xmlelement.h"
13 13
14 using base::SysInfo; 14 using base::SysInfo;
15 using buzz::QName; 15 using buzz::QName;
16 using buzz::XmlElement; 16 using buzz::XmlElement;
17 using remoting::protocol::Session; 17 using remoting::protocol::Session;
18 18
19 namespace remoting { 19 namespace remoting {
20 20
21 namespace { 21 namespace {
22 const char kLogCommand[] = "log"; 22 const char kLogCommand[] = "log";
23 23
24 const char kLogEntry[] = "entry"; 24 const char kLogEntry[] = "entry";
25 25
26 const char kKeyEventName[] = "event-name"; 26 const char kKeyEventName[] = "event-name";
27 const char kValueEventNameSessionState[] = "session-state"; 27 const char kValueEventNameSessionState[] = "session-state";
28 const char kValueEventNameHeartbeat[] = "heartbeat"; 28 const char kValueEventNameHeartbeat[] = "heartbeat";
29 const char kValueEventNameHostStatus[] = "host-status";
29 30
30 const char kKeyRole[] = "role"; 31 const char kKeyRole[] = "role";
31 const char kValueRoleHost[] = "host"; 32 const char kValueRoleHost[] = "host";
32 33
33 const char kKeyMode[] = "mode"; 34 const char kKeyMode[] = "mode";
34 const char kValueModeIt2Me[] = "it2me"; 35 const char kValueModeIt2Me[] = "it2me";
35 const char kValueModeMe2Me[] = "me2me"; 36 const char kValueModeMe2Me[] = "me2me";
36 37
37 const char kKeySessionState[] = "session-state"; 38 const char kKeySessionState[] = "session-state";
38 const char kValueSessionStateConnected[] = "connected"; 39 const char kValueSessionStateConnected[] = "connected";
39 const char kValueSessionStateClosed[] = "closed"; 40 const char kValueSessionStateClosed[] = "closed";
40 41
42 const char kStatusName[] = "status";
43 const char kExitCodeName[] = "exit-code";
44
41 const char kKeyOsName[] = "os-name"; 45 const char kKeyOsName[] = "os-name";
42 const char kValueOsNameWindows[] = "Windows"; 46 const char kValueOsNameWindows[] = "Windows";
43 const char kValueOsNameLinux[] = "Linux"; 47 const char kValueOsNameLinux[] = "Linux";
44 const char kValueOsNameMac[] = "Mac"; 48 const char kValueOsNameMac[] = "Mac";
45 const char kValueOsNameChromeOS[] = "ChromeOS"; 49 const char kValueOsNameChromeOS[] = "ChromeOS";
46 50
47 const char kKeyOsVersion[] = "os-version"; 51 const char kKeyOsVersion[] = "os-version";
48 52
49 const char kKeyHostVersion[] = "host-version"; 53 const char kKeyHostVersion[] = "host-version";
50 54
(...skipping 26 matching lines...) Expand all
77 } 81 }
78 82
79 // static 83 // static
80 scoped_ptr<ServerLogEntry> ServerLogEntry::MakeForHeartbeat() { 84 scoped_ptr<ServerLogEntry> ServerLogEntry::MakeForHeartbeat() {
81 scoped_ptr<ServerLogEntry> entry(new ServerLogEntry()); 85 scoped_ptr<ServerLogEntry> entry(new ServerLogEntry());
82 entry->Set(kKeyRole, kValueRoleHost); 86 entry->Set(kKeyRole, kValueRoleHost);
83 entry->Set(kKeyEventName, kValueEventNameHeartbeat); 87 entry->Set(kKeyEventName, kValueEventNameHeartbeat);
84 return entry.Pass(); 88 return entry.Pass();
85 } 89 }
86 90
91 // static
92 scoped_ptr<ServerLogEntry> ServerLogEntry::MakeForHostStatus(
93 HostStatusSender::HostStatus host_status, HostExitCodes exit_code) {
94 scoped_ptr<ServerLogEntry> entry(new ServerLogEntry());
95 entry->Set(kKeyRole, kValueRoleHost);
96 entry->Set(kKeyEventName, kValueEventNameHostStatus);
97 entry->Set(kStatusName, HostStatusSender::HostStatusToString(host_status));
98 if (host_status == HostStatusSender::OFFLINE)
99 entry->Set(kExitCodeName, ExitCodeToString(exit_code));
100 return entry.Pass();
101 }
102
87 void ServerLogEntry::AddHostFields() { 103 void ServerLogEntry::AddHostFields() {
88 #if defined(OS_WIN) 104 #if defined(OS_WIN)
89 Set(kKeyOsName, kValueOsNameWindows); 105 Set(kKeyOsName, kValueOsNameWindows);
90 #elif defined(OS_MACOSX) 106 #elif defined(OS_MACOSX)
91 Set(kKeyOsName, kValueOsNameMac); 107 Set(kKeyOsName, kValueOsNameMac);
92 #elif defined(OS_CHROMEOS) 108 #elif defined(OS_CHROMEOS)
93 Set(kKeyOsName, kValueOsNameChromeOS); 109 Set(kKeyOsName, kValueOsNameChromeOS);
94 #elif defined(OS_LINUX) 110 #elif defined(OS_LINUX)
95 Set(kKeyOsName, kValueOsNameLinux); 111 Set(kKeyOsName, kValueOsNameLinux);
96 #endif 112 #endif
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 // static 164 // static
149 const char* ServerLogEntry::GetValueSessionState(bool connected) { 165 const char* ServerLogEntry::GetValueSessionState(bool connected) {
150 return connected ? kValueSessionStateConnected : kValueSessionStateClosed; 166 return connected ? kValueSessionStateConnected : kValueSessionStateClosed;
151 } 167 }
152 168
153 void ServerLogEntry::Set(const std::string& key, const std::string& value) { 169 void ServerLogEntry::Set(const std::string& key, const std::string& value) {
154 values_map_[key] = value; 170 values_map_[key] = value;
155 } 171 }
156 172
157 } // namespace remoting 173 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/host/server_log_entry.h ('k') | remoting/protocol/name_value_map.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698