#ifndef COMPONENTS_MEDIA_ROUTER_COMMON_PROVIDERS_CAST_CAST_MEDIA_SOURCE_H_
#define COMPONENTS_MEDIA_ROUTER_COMMON_PROVIDERS_CAST_CAST_MEDIA_SOURCE_H_
#include <initializer_list>
#include <memory>
#include <optional>
#include <string>
#include <type_traits>
#include <vector>
#include "base/check.h"
#include "base/time/time.h"
#include "components/media_router/common/media_source.h"
#include "components/media_router/common/providers/cast/channel/cast_device_capability.h"
#include "components/media_router/common/providers/cast/channel/cast_message_util.h"
#include "components/media_router/common/providers/cast/channel/cast_socket.h"
CastDeviceCapabilitySet;
ReceiverAppType;
namespace media_router {
static constexpr char kMultizoneLeaderAppId[] = …;
static const constexpr char* const kMultizoneMemberAppIds[] = …;
static constexpr base::TimeDelta kDefaultLaunchTimeout = …;
struct CastAppInfo { … };
enum class AutoJoinPolicy { … };
enum class DefaultActionPolicy { … };
bool IsAutoJoinAllowed(AutoJoinPolicy policy,
const url::Origin& origin1,
int tab_id1,
const url::Origin& origin2,
int tab_id2);
bool IsSiteInitiatedMirroringSource(const MediaSource::Id& source_id);
class CastMediaSource { … };
}
#endif