Upstream version 10.39.233.0
[platform/framework/web/crosswalk.git] / src / remoting / host / server_log_entry_host.h
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_