OLD | NEW |
---|---|
(Empty) | |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #include "chrome/browser/media/router/mojo/media_route_controller.h" | |
6 | |
7 #include <utility> | |
8 | |
9 namespace media_router { | |
10 | |
11 MediaRouteController::Observer::Observer( | |
12 scoped_refptr<MediaRouteController> controller) | |
13 : controller_(std::move(controller)) { | |
mark a. foltz
2017/03/20 23:47:03
Why did you choose move semantics here?
What if th
takumif
2017/03/21 04:00:07
My understanding is that passing-by-value then mov
mark a. foltz
2017/03/22 00:41:43
Sorry, I missed that this was an argument passed b
| |
14 controller_->AddObserver(this); | |
15 } | |
16 | |
17 MediaRouteController::Observer::~Observer() { | |
18 if (controller_) | |
19 controller_->RemoveObserver(this); | |
20 } | |
21 | |
22 void MediaRouteController::Observer::OnControllerInvalidated() { | |
23 controller_ = nullptr; | |
24 OnControllerDisposed(); | |
25 } | |
26 | |
27 void MediaRouteController::Observer::OnControllerDisposed() {} | |
mark a. foltz
2017/03/20 23:47:03
Maybe this should be OnControllerInvalidated() as
takumif
2017/03/21 04:00:07
Done.
| |
28 | |
29 MediaRouteController::MediaRouteController( | |
30 const MediaRoute::Id& route_id, | |
31 mojom::MediaControllerPtr media_controller) | |
32 : route_id_(route_id), media_controller_(std::move(media_controller)) { | |
33 DCHECK(media_controller_.is_bound()); | |
34 media_controller_.set_connection_error_handler(base::Bind( | |
35 &MediaRouteController::OnControllerInvalidated, base::Unretained(this))); | |
36 } | |
37 | |
38 void MediaRouteController::Play() { | |
39 media_controller_->Play(); | |
40 } | |
41 | |
42 void MediaRouteController::Pause() { | |
43 media_controller_->Pause(); | |
44 } | |
45 | |
46 void MediaRouteController::Seek(base::TimeDelta time) { | |
47 media_controller_->Seek(time); | |
48 } | |
49 | |
50 void MediaRouteController::SetMute(bool mute) { | |
51 media_controller_->SetMute(mute); | |
52 } | |
53 | |
54 void MediaRouteController::SetVolume(float volume) { | |
55 media_controller_->SetVolume(volume); | |
56 } | |
57 | |
58 void MediaRouteController::OnMediaStatusUpdated(const MediaStatus& status) { | |
59 for (Observer& observer : observers_) | |
60 observer.OnMediaStatusUpdated(status); | |
61 } | |
62 | |
63 void MediaRouteController::OnControllerInvalidated() { | |
mark a. foltz
2017/03/20 23:47:03
"On*" names I usually reserve for methods that mus
takumif
2017/03/21 04:00:07
Changing to Invalidate().
| |
64 for (Observer& observer : observers_) | |
65 observer.OnControllerInvalidated(); | |
mark a. foltz
2017/03/20 23:47:03
observer.Invalidate()
takumif
2017/03/21 04:00:07
Changing to InvaildateController().
| |
66 // |this| is deleted here! | |
67 } | |
68 | |
69 MediaRouteController::~MediaRouteController() {} | |
70 | |
71 void MediaRouteController::AddObserver(Observer* observer) { | |
72 observers_.AddObserver(observer); | |
73 } | |
74 | |
75 void MediaRouteController::RemoveObserver(Observer* observer) { | |
76 observers_.RemoveObserver(observer); | |
77 } | |
78 | |
79 } // namespace media_router | |
OLD | NEW |