1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "remoting/host/server_log_entry_host.h"
#include "base/strings/stringize_macros.h"
#include "remoting/host/host_details.h"
#include "remoting/signaling/server_log_entry.h"
namespace remoting {
namespace {
const char kValueEventNameSessionState[] = "session-state";
const char kValueEventNameHeartbeat[] = "heartbeat";
const char kValueRoleHost[] = "host";
const char kKeySessionState[] = "session-state";
const char kValueSessionStateConnected[] = "connected";
const char kValueSessionStateClosed[] = "closed";
const char kKeyOsName[] = "os-name";
const char kKeyOsVersion[] = "os-version";
const char kKeyHostVersion[] = "host-version";
const char kKeyConnectionType[] = "connection-type";
const char* GetValueSessionState(bool connected) {
return connected ? kValueSessionStateConnected : kValueSessionStateClosed;
}
} // namespace
std::unique_ptr<ServerLogEntry> MakeLogEntryForSessionStateChange(
bool connected) {
std::unique_ptr<ServerLogEntry> entry(new ServerLogEntry());
entry->AddRoleField(kValueRoleHost);
entry->AddEventNameField(kValueEventNameSessionState);
entry->Set(kKeySessionState, GetValueSessionState(connected));
return entry;
}
std::unique_ptr<ServerLogEntry> MakeLogEntryForHeartbeat() {
std::unique_ptr<ServerLogEntry> entry(new ServerLogEntry());
entry->AddRoleField(kValueRoleHost);
entry->AddEventNameField(kValueEventNameHeartbeat);
return entry;
}
void AddHostFieldsToLogEntry(ServerLogEntry* entry) {
// TODO os name, os version, and version will be in the main message body,
// remove these fields at a later date to remove redundancy.
entry->Set(kKeyOsName, GetHostOperatingSystemName());
entry->Set(kKeyOsVersion, GetHostOperatingSystemVersion());
entry->Set(kKeyHostVersion, STRINGIZE(VERSION));
entry->AddCpuField();
};
void AddConnectionTypeToLogEntry(ServerLogEntry* entry,
protocol::TransportRoute::RouteType type) {
entry->Set(kKeyConnectionType, protocol::TransportRoute::GetTypeString(type));
}
} // namespace remoting
|