| Index: content/browser/media/webrtc/webrtc_callback_interface_impl.cc
|
| diff --git a/content/browser/media/webrtc/webrtc_callback_interface_impl.cc b/content/browser/media/webrtc/webrtc_callback_interface_impl.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..9647aa01f98da8ca6825d35465871875d7702bff
|
| --- /dev/null
|
| +++ b/content/browser/media/webrtc/webrtc_callback_interface_impl.cc
|
| @@ -0,0 +1,60 @@
|
| +// Copyright (c) 2016 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 "content/browser/media/webrtc/webrtc_callback_interface_impl.h"
|
| +
|
| +namespace content {
|
| +
|
| +WebRTCCallbackInterfaceImpl::WebRTCCallbackInterfaceImpl() {}
|
| +
|
| +WebRTCCallbackInterfaceImpl::~WebRTCCallbackInterfaceImpl() {}
|
| +
|
| +void WebRTCCallbackInterfaceImpl::RegisterEventLogHandler(
|
| + int render_process_id,
|
| + EventLogStartFunc start_logging_callback,
|
| + EventLogStopFunc stop_logging_callback) {
|
| + event_log_callbacks_[render_process_id] =
|
| + std::make_pair(start_logging_callback, stop_logging_callback);
|
| +}
|
| +
|
| +void WebRTCCallbackInterfaceImpl::RegisterPeerConnectionCallbacks(
|
| + int render_process_id,
|
| + PeerConnectionAddedFunc pc_added_callback,
|
| + PeerConnectionRemovedFunc pc_removed_callback) {
|
| + peer_connection_callbacks_.insert(
|
| + std::make_pair(render_process_id,
|
| + std::make_pair(pc_added_callback, pc_removed_callback)));
|
| +}
|
| +
|
| +void WebRTCCallbackInterfaceImpl::PeerConnectionAdded(int render_process_id,
|
| + int connection_id) {
|
| + auto range = peer_connection_callbacks_.equal_range(render_process_id);
|
| + for (auto i = range.first; i != range.second; ++i) {
|
| + i->second.first.Run(render_process_id, connection_id);
|
| + }
|
| +}
|
| +
|
| +void WebRTCCallbackInterfaceImpl::PeerConnectionRemoved(int render_process_id,
|
| + int connection_id) {
|
| + auto range = peer_connection_callbacks_.equal_range(render_process_id);
|
| + for (auto i = range.first; i != range.second; ++i) {
|
| + i->second.second.Run(render_process_id, connection_id);
|
| + }
|
| +}
|
| +
|
| +void WebRTCCallbackInterfaceImpl::StartEventLog(
|
| + int render_process_id,
|
| + const base::FilePath& file_path) {
|
| + if (event_log_callbacks_.count(render_process_id)) {
|
| + event_log_callbacks_[render_process_id].first.Run(file_path);
|
| + }
|
| +}
|
| +
|
| +void WebRTCCallbackInterfaceImpl::StopEventLog(int render_process_id) {
|
| + if (event_log_callbacks_.count(render_process_id)) {
|
| + event_log_callbacks_[render_process_id].second.Run();
|
| + }
|
| +}
|
| +
|
| +} // namespace content
|
|
|