1// Copyright 2013 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 CONTENT_PUBLIC_RENDERER_MEDIA_WEBRTC_LOG_MESSAGE_DELEGATE_H_ 6#define CONTENT_PUBLIC_RENDERER_MEDIA_WEBRTC_LOG_MESSAGE_DELEGATE_H_ 7 8#include <string> 9 10#include "content/common/content_export.h" 11 12namespace content { 13 14// This interface is implemented by a handler in the embedder and used for 15// initializing the logging and passing log messages to the handler. The 16// purpose is to forward mainly libjingle log messages to embedder (besides 17// the ordinary logging stream) that will be used for diagnostic purposes. 18class WebRtcLogMessageDelegate { 19 public: 20 // Pass a diagnostic WebRTC log message. 21 virtual void LogMessage(const std::string& message) = 0; 22 23 protected: 24 virtual ~WebRtcLogMessageDelegate() {} 25}; 26 27// Must be called on IO thread. 28CONTENT_EXPORT void InitWebRtcLoggingDelegate( 29 WebRtcLogMessageDelegate* delegate); 30 31// Must be called on IO thread. 32CONTENT_EXPORT void InitWebRtcLogging(); 33 34} // namespace content 35 36#endif // CONTENT_PUBLIC_RENDERER_MEDIA_WEBRTC_LOG_MESSAGE_DELEGATE_H_ 37