1 // Copyright 2014 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef REMOTING_HOST_SERVER_LOG_ENTRY_HOST_H_ 6 #define REMOTING_HOST_SERVER_LOG_ENTRY_HOST_H_ 7 8 #include "remoting/host/host_exit_codes.h" 9 #include "remoting/host/host_status_sender.h" 10 #include "remoting/protocol/transport.h" 11 12 namespace remoting { 13 14 class ServerLogEntry; 15 16 // Constructs a log entry for a session state change. 17 // Currently this is either connection or disconnection. 18 scoped_ptr<ServerLogEntry> MakeLogEntryForSessionStateChange( 19 bool connected); 20 21 // Constructs a log entry for a heartbeat. 22 scoped_ptr<ServerLogEntry> MakeLogEntryForHeartbeat(); 23 24 // Constructs a log entry for a host status message. 25 scoped_ptr<ServerLogEntry> MakeLogEntryForHostStatus( 26 HostStatusSender::HostStatus host_status, HostExitCodes exit_code); 27 28 // Adds fields describing the host to this log entry. 29 void AddHostFieldsToLogEntry(ServerLogEntry* entry); 30 31 // Adds a field describing connection type (direct/stun/relay). 32 void AddConnectionTypeToLogEntry(ServerLogEntry* entry, 33 protocol::TransportRoute::RouteType type); 34 35 } // namespace remoting 36 37 #endif // REMOTING_HOST_SERVER_LOG_ENTRY_HOST_H_ 38