#include "chrome/browser/media/router/providers/cast/cast_media_controller.h"
#include "base/containers/contains.h"
#include "base/functional/callback_helpers.h"
#include "base/rand_util.h"
#include "base/strings/string_number_conversions.h"
#include "base/values.h"
#include "chrome/browser/media/router/providers/cast/app_activity.h"
#include "chrome/browser/media/router/providers/cast/cast_internal_message_util.h"
#include "components/media_router/common/providers/cast/channel/cast_message_util.h"
#include "components/media_router/common/providers/cast/channel/enum_table.h"
#include "third_party/abseil-cpp/absl/utility/utility.h"
V2MessageType;
namespace media_router {
namespace {
constexpr int kQueuePrevJumpValue = …;
constexpr int kQueueNextJumpValue = …;
void SetIfValid(std::string* out, const base::Value* value) { … }
void SetIfValid(bool* out, const base::Value* value) { … }
void SetIfNonNegative(float* out, const base::Value* value) { … }
void SetIfNonNegative(int* out, const base::Value* value) { … }
void SetIfNonNegative(base::TimeDelta* out, const base::Value* value) { … }
std::optional<gfx::Size> GetValidSize(const base::Value::Dict& dict) { … }
}
CastMediaController::CastMediaController(AppActivity* activity)
: … { … }
CastMediaController::~CastMediaController() { … }
void CastMediaController::Play() { … }
void CastMediaController::Pause() { … }
void CastMediaController::SetMute(bool mute) { … }
void CastMediaController::SetVolume(float volume) { … }
void CastMediaController::Seek(base::TimeDelta time) { … }
void CastMediaController::NextTrack() { … }
void CastMediaController::PreviousTrack() { … }
void CastMediaController::AddMediaController(
mojo::PendingReceiver<mojom::MediaController> receiver,
mojo::PendingRemote<mojom::MediaStatusObserver> observer) { … }
void CastMediaController::SetSession(const CastSession& session) { … }
void CastMediaController::SetMediaStatus(
const base::Value::Dict& status_value) { … }
base::Value::Dict CastMediaController::CreateMediaRequest(V2MessageType type) { … }
base::Value::Dict CastMediaController::CreateVolumeRequest() { … }
void CastMediaController::UpdateMediaStatus(
const base::Value::Dict& message_value) { … }
}