#include "chrome/browser/media/router/providers/cast/dual_media_sink_service.h"
#include "base/functional/bind.h"
#include "base/time/default_tick_clock.h"
#include "chrome/browser/media/router/discovery/dial/dial_media_sink_service.h"
#include "chrome/browser/media/router/discovery/dial/dial_media_sink_service_impl.h"
#include "chrome/browser/media/router/discovery/mdns/cast_media_sink_service.h"
#include "chrome/browser/media/router/discovery/mdns/cast_media_sink_service_impl.h"
#include "chrome/browser/media/router/media_router_feature.h"
#include "chrome/browser/media/router/providers/cast/cast_app_discovery_service.h"
#include "chrome/browser/media/router/providers/cast/chrome_cast_message_handler.h"
#include "components/media_router/common/providers/cast/channel/cast_socket_service.h"
#include "content/public/browser/browser_thread.h"
#include "mojo/public/cpp/bindings/remote.h"
namespace media_router {
DualMediaSinkService* g_dual_media_sink_service = …;
DualMediaSinkService* DualMediaSinkService::GetInstance() { … }
bool DualMediaSinkService::HasInstance() { … }
DialMediaSinkServiceImpl* DualMediaSinkService::GetDialMediaSinkServiceImpl() { … }
MediaSinkServiceBase* DualMediaSinkService::GetCastMediaSinkServiceBase() { … }
CastMediaSinkServiceImpl* DualMediaSinkService::GetCastMediaSinkServiceImpl() { … }
base::CallbackListSubscription DualMediaSinkService::AddSinksDiscoveredCallback(
const OnSinksDiscoveredProviderCallback& callback) { … }
void DualMediaSinkService::SetDiscoveryPermissionRejectedCallback(
base::RepeatingClosure discovery_permission_rejected_cb) { … }
void DualMediaSinkService::DiscoverSinksNow() { … }
void DualMediaSinkService::StartDiscovery() { … }
void DualMediaSinkService::StartMdnsDiscovery() { … }
void DualMediaSinkService::StartDialDiscovery() { … }
bool DualMediaSinkService::MdnsDiscoveryStarted() const { … }
bool DualMediaSinkService::DialDiscoveryStarted() const { … }
DualMediaSinkService::DualMediaSinkService() { … }
DualMediaSinkService::DualMediaSinkService(
std::unique_ptr<CastMediaSinkService> cast_media_sink_service,
std::unique_ptr<DialMediaSinkService> dial_media_sink_service,
std::unique_ptr<CastAppDiscoveryService> cast_app_discovery_service)
: … { … }
DualMediaSinkService::~DualMediaSinkService() = default;
void DualMediaSinkService::OnSinksDiscovered(
const std::string& provider_name,
std::vector<MediaSinkInternal> sinks) { … }
void DualMediaSinkService::OnDiscoveryPermissionRejected() { … }
void DualMediaSinkService::AddLogger(LoggerImpl* logger_impl) { … }
void DualMediaSinkService::RemoveLogger(LoggerImpl* logger_impl) { … }
void DualMediaSinkService::StopObservingPrefChanges() { … }
}