Home | History | Annotate | Download | only in host
      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