chromium/chrome/browser/ui/global_media_controls/cast_device_list_host.h

// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CHROME_BROWSER_UI_GLOBAL_MEDIA_CONTROLS_CAST_DEVICE_LIST_HOST_H_
#define CHROME_BROWSER_UI_GLOBAL_MEDIA_CONTROLS_CAST_DEVICE_LIST_HOST_H_

#include "chrome/browser/ui/media_router/cast_dialog_controller.h"
#include "chrome/browser/ui/media_router/ui_media_sink.h"
#include "components/global_media_controls/public/mojom/device_service.mojom.h"
#include "mojo/public/cpp/bindings/remote.h"

// Serves as an adapter between Media Router and Global Media Controls UI Mojo
// interfaces:
// - Receives Cast device updates via the CastDialogController::Observer
//   interface and forwards them to mojom::DeviceListClient.
// - Receives device picker UI events via the mojom::DeviceListHost interface
//   and forwards them to CastDialogController.
class CastDeviceListHost : public global_media_controls::mojom::DeviceListHost,
                           media_router::CastDialogController::Observer {};

#endif  // CHROME_BROWSER_UI_GLOBAL_MEDIA_CONTROLS_CAST_DEVICE_LIST_HOST_H_