| Index: chrome/browser/media/router/media_controller.cc
|
| diff --git a/chrome/browser/media/router/media_controller.cc b/chrome/browser/media/router/media_controller.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..38d0305cd72b78d2f3592c7c73ef94cb0ae00e7e
|
| --- /dev/null
|
| +++ b/chrome/browser/media/router/media_controller.cc
|
| @@ -0,0 +1,46 @@
|
| +// Copyright 2014 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "chrome/browser/media/router/media_controller.h"
|
| +
|
| +namespace media_router {
|
| +
|
| +MediaController::MediaController(const MediaRouteId& media_route_id)
|
| + : media_route_id_(media_route_id),
|
| + media_controls_capabilities_(0),
|
| + media_status_(media_route_id) {}
|
| +
|
| +MediaController::~MediaController() {
|
| +}
|
| +
|
| +void MediaController::AddObserver(MediaController::Observer* observer) {
|
| + observers_.AddObserver(observer);
|
| +}
|
| +
|
| +void MediaController::RemoveObserver(MediaController::Observer* observer) {
|
| + observers_.RemoveObserver(observer);
|
| +}
|
| +
|
| +bool MediaController::SupportsCommand(MediaCommand command) const {
|
| + return (media_controls_capabilities_ & command) > 0;
|
| +}
|
| +
|
| +void MediaController::set_media_status(const MediaStatus& status) {
|
| + if (media_status_ != status) {
|
| + media_status_ = status;
|
| + FOR_EACH_OBSERVER(MediaController::Observer, observers_,
|
| + OnMediaStatusChange(this, status));
|
| + }
|
| +}
|
| +
|
| +void MediaController::set_media_controls_capabilities(
|
| + MediaControlsCapabilities capabilities) {
|
| + if (media_controls_capabilities_ != capabilities) {
|
| + media_controls_capabilities_ = capabilities;
|
| + FOR_EACH_OBSERVER(MediaController::Observer, observers_,
|
| + OnMediaControlsCapabilitiesChange(this, capabilities));
|
| + }
|
| +}
|
| +
|
| +} // namespace media_router
|
|
|