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_CLIENT_SERVER_LOG_ENTRY_CLIENT_H_ 6cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#define REMOTING_CLIENT_SERVER_LOG_ENTRY_CLIENT_H_ 7cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 8cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "base/time/time.h" 9cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "remoting/protocol/connection_to_host.h" 10cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "remoting/protocol/errors.h" 11cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 12cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)namespace remoting { 13cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 14cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)class ChromotingStats; 15cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)class ServerLogEntry; 16cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 17cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Constructs a log entry for a session state change. 18cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)scoped_ptr<ServerLogEntry> MakeLogEntryForSessionStateChange( 19cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) protocol::ConnectionToHost::State state, 20cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) protocol::ErrorCode error); 21cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 22cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Constructs a log entry for reporting statistics. 23cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)scoped_ptr<ServerLogEntry> MakeLogEntryForStatistics( 24cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) ChromotingStats* statistics); 25cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 26cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Constructs a log entry for reporting session ID is old. 27cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)scoped_ptr<ServerLogEntry> MakeLogEntryForSessionIdOld( 28cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) const std::string& session_id); 29cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 30cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Constructs a log entry for reporting session ID is old. 31cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)scoped_ptr<ServerLogEntry> MakeLogEntryForSessionIdNew( 32cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) const std::string& session_id); 33cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 34cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)void AddClientFieldsToLogEntry(ServerLogEntry* entry); 35cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)void AddSessionIdToLogEntry(ServerLogEntry* entry, const std::string& id); 36cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)void AddSessionDurationToLogEntry(ServerLogEntry* entry, 37cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) base::TimeDelta duration); 38cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 39cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)} // namespace remoting 40cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 41cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#endif // REMOTING_CLIENT_SERVER_LOG_ENTRY_CLIENT_H_ 42