diff options
Diffstat (limited to 'remoting/host/server_log_entry.cc')
-rw-r--r-- | remoting/host/server_log_entry.cc | 16 |
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); |