Index: remoting/host/server_log_entry.cc |
diff --git a/remoting/host/server_log_entry.cc b/remoting/host/server_log_entry.cc |
index f18b2378d2673da82082e78b100c217c6e3ebae4..b13f6c667b2e06289826c819c0ea682fd7a6262e 100644 |
--- a/remoting/host/server_log_entry.cc |
+++ b/remoting/host/server_log_entry.cc |
@@ -26,6 +26,7 @@ const char kLogEntry[] = "entry"; |
const char kKeyEventName[] = "event-name"; |
const char kValueEventNameSessionState[] = "session-state"; |
const char kValueEventNameHeartbeat[] = "heartbeat"; |
+const char kValueEventNameHostStatus[] = "host-status"; |
const char kKeyRole[] = "role"; |
const char kValueRoleHost[] = "host"; |
@@ -38,6 +39,9 @@ const char kKeySessionState[] = "session-state"; |
const char kValueSessionStateConnected[] = "connected"; |
const char kValueSessionStateClosed[] = "closed"; |
+const char kStatusName[] = "status"; |
+const char kExitCodeName[] = "exit-code"; |
+ |
const char kKeyOsName[] = "os-name"; |
const char kValueOsNameWindows[] = "Windows"; |
const char kValueOsNameLinux[] = "Linux"; |
@@ -84,6 +88,18 @@ scoped_ptr<ServerLogEntry> ServerLogEntry::MakeForHeartbeat() { |
return entry.Pass(); |
} |
+// static |
+scoped_ptr<ServerLogEntry> ServerLogEntry::MakeForHostStatus( |
+ HostStatusSender::HostStatus host_status, HostExitCodes exit_code) { |
+ scoped_ptr<ServerLogEntry> entry(new ServerLogEntry()); |
+ entry->Set(kKeyRole, kValueRoleHost); |
+ entry->Set(kKeyEventName, kValueEventNameHostStatus); |
+ entry->Set(kStatusName, HostStatusSender::HostStatusToString(host_status)); |
+ if (host_status == HostStatusSender::OFFLINE) |
+ entry->Set(kExitCodeName, ExitCodeToString(exit_code)); |
+ return entry.Pass(); |
+} |
+ |
void ServerLogEntry::AddHostFields() { |
#if defined(OS_WIN) |
Set(kKeyOsName, kValueOsNameWindows); |