Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1028)

Side by Side Diff: chrome/browser/media/router/typed_media_sink.cc

Issue 2675033002: [Media Router] Add MediaSink subtypes (Closed)
Patch Set: add TypedMediaSink class Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(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/typed_media_sink.h"
6
7 #include "base/logging.h"
8
9 namespace media_router {
10
11 TypedMediaSink::TypedMediaSink(const MediaSink::Id& sink_id,
12 const std::string& name,
13 const MediaSink::IconType icon_type)
14 : TypedMediaSink() {
15 sink_ = MediaSink(sink_id, name, icon_type);
16 }
17
18 TypedMediaSink::TypedMediaSink()
19 : type_(SinkType::UNKNOWN), dial_sink_extra_data_(DialSinkExtraData()) {}
imcheng 2017/02/11 01:00:22 Did you need to initialize dial_sink_extra_data_ h
zhaobin 2017/02/14 02:08:49 Unit test crashes if we do not init DialSinkExtraD
20
21 TypedMediaSink::~TypedMediaSink() {}
22
23 TypedMediaSink& TypedMediaSink::operator=(const TypedMediaSink& other) {
24 sink_ = other.sink_;
25 ip_address_ = other.ip_address_;
26 model_name_ = other.model_name_;
27 type_ = other.type_;
28
29 if (other.is_dial_sink())
30 dial_sink_extra_data_ = other.dial_sink_extra_data_;
31 if (other.is_cast_sink())
32 cast_sink_extra_data_ = other.cast_sink_extra_data_;
33
34 return *this;
35 }
36
37 void TypedMediaSink::set_dial_sink_extra_data(
38 const DialSinkExtraData& dial_sink_extra_data) {
39 DCHECK_EQ(type_, SinkType::UNKNOWN);
imcheng 2017/02/11 01:00:22 Why do we need these DCHECKs? It seems perfectly l
zhaobin 2017/02/14 02:08:49 Done.
40 type_ = SinkType::DIAL;
41 dial_sink_extra_data_ = dial_sink_extra_data;
42 }
43
44 const DialSinkExtraData* TypedMediaSink::dial_sink_extra_data() const {
imcheng 2017/02/11 01:00:22 Suggest making these return const ref, and turn th
zhaobin 2017/02/14 02:08:49 Done.
45 if (!is_dial_sink())
46 return nullptr;
47
48 return &dial_sink_extra_data_;
49 }
50
51 void TypedMediaSink::set_cast_sink_extra_data(
52 const CastSinkExtraData& cast_sink_extra_data) {
53 DCHECK_EQ(type_, SinkType::UNKNOWN);
54 type_ = SinkType::CAST;
55 cast_sink_extra_data_ = cast_sink_extra_data;
56 }
57
58 const CastSinkExtraData* TypedMediaSink::cast_sink_extra_data() const {
59 if (!is_cast_sink())
60 return nullptr;
61
62 return &cast_sink_extra_data_;
63 }
64
65 } // namespace media_router
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698