• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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