summaryrefslogtreecommitdiffstats
path: root/remoting/host/server_log_entry.cc
diff options
context:
space:
mode:
Diffstat (limited to 'remoting/host/server_log_entry.cc')
-rw-r--r--remoting/host/server_log_entry.cc16
1 files changed, 16 insertions, 0 deletions
diff --git a/remoting/host/server_log_entry.cc b/remoting/host/server_log_entry.cc
index f18b2378..b13f6c6 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);