blob: 9cd62582b326a9d72836e22483a55021845176a2 [file] [log] [blame]
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "remoting/host/host_event_logger.h"
#include "net/base/ip_endpoint.h"
#include "remoting/host/chromoting_host.h"
#include "remoting/host/system_event_logger.h"
namespace remoting {
HostEventLogger::HostEventLogger(ChromotingHost* host,
const std::string& application_name)
: host_(host),
system_event_logger_(SystemEventLogger::Create(application_name)) {
host_->AddStatusObserver(this);
}
HostEventLogger::~HostEventLogger() {
host_->RemoveStatusObserver(this);
}
void HostEventLogger::OnClientAuthenticated(const std::string& jid) {
Log("Client connected: " + jid);
}
void HostEventLogger::OnClientDisconnected(const std::string& jid) {
Log("Client disconnected: " + jid);
}
void HostEventLogger::OnAccessDenied(const std::string& jid) {
Log("Access denied for client: " + jid);
}
void HostEventLogger::OnClientRouteChange(
const std::string& jid,
const std::string& channel_name,
const net::IPEndPoint& remote_end_point,
const net::IPEndPoint& local_end_point) {
Log("Channel IP for client: " + jid +
" ip='" + remote_end_point.ToString() +
"' host_ip='" + local_end_point.ToString() +
"' channel='" + channel_name + "'");
}
void HostEventLogger::OnShutdown() {
}
void HostEventLogger::Log(const std::string& message) {
system_event_logger_->Log(message);
}
} // namespace remoting