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