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

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

Issue 2675033002: [Media Router] Add MediaSink subtypes (Closed)
Patch Set: resolve code review comments from Derek and Mark Created 3 years, 9 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
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/i18n/string_compare.h" 5 #include "base/i18n/string_compare.h"
6 #include "base/strings/utf_string_conversions.h" 6 #include "base/strings/utf_string_conversions.h"
7 #include "chrome/browser/media/router/media_sink.h" 7 #include "chrome/browser/media/router/media_sink.h"
8 #include "third_party/icu/source/i18n/unicode/coll.h" 8 #include "third_party/icu/source/i18n/unicode/coll.h"
9 9
10 namespace media_router { 10 namespace media_router {
11 11
12 MediaSink::MediaSink(const MediaSink::Id& sink_id, 12 MediaSink::MediaSink(const MediaSink::Id& sink_id,
13 const std::string& name, 13 const std::string& name,
14 const MediaSink::IconType icon_type) 14 const MediaSink::IconType icon_type)
15 : sink_id_(sink_id), name_(name), icon_type_(icon_type) {} 15 : sink_id_(sink_id), name_(name), icon_type_(icon_type) {}
16 16
17 MediaSink::MediaSink(const MediaSink& other) = default; 17 MediaSink::MediaSink(const MediaSink& other) = default;
18 18
19 MediaSink::MediaSink() {} 19 MediaSink::MediaSink() {}
20 20
21 MediaSink::~MediaSink() { 21 MediaSink::~MediaSink() {
22 } 22 }
23 23
24 bool MediaSink::Equals(const MediaSink& other) const { 24 bool MediaSink::Equals(const MediaSink& other) const {
25 return sink_id_ == other.sink_id_; 25 return sink_id_ == other.sink_id_;
26 } 26 }
27 27
28 bool MediaSink::operator==(const MediaSink& other) const {
29 return sink_id_ == other.sink_id_ && name_ == other.name_ &&
30 description_ == other.description_ && domain_ == other.domain_ &&
31 icon_type_ == other.icon_type_;
32 }
33
34 bool MediaSink::operator!=(const MediaSink& other) const {
35 return !operator==(other);
36 }
37
28 bool MediaSink::CompareUsingCollator(const MediaSink& other, 38 bool MediaSink::CompareUsingCollator(const MediaSink& other,
29 const icu::Collator* collator) const { 39 const icu::Collator* collator) const {
30 if (icon_type_ != other.icon_type_) 40 if (icon_type_ != other.icon_type_)
31 return icon_type_ < other.icon_type_; 41 return icon_type_ < other.icon_type_;
32 42
33 if (collator) { 43 if (collator) {
34 base::string16 this_name = base::UTF8ToUTF16(name_); 44 base::string16 this_name = base::UTF8ToUTF16(name_);
35 base::string16 other_name = base::UTF8ToUTF16(other.name_); 45 base::string16 other_name = base::UTF8ToUTF16(other.name_);
36 UCollationResult result = base::i18n::CompareString16WithCollator( 46 UCollationResult result = base::i18n::CompareString16WithCollator(
37 *collator, this_name, other_name); 47 *collator, this_name, other_name);
38 if (result != UCOL_EQUAL) 48 if (result != UCOL_EQUAL)
39 return result == UCOL_LESS; 49 return result == UCOL_LESS;
40 } else { 50 } else {
41 // Fall back to simple string comparison if collator is not 51 // Fall back to simple string comparison if collator is not
42 // available. 52 // available.
43 int val = name_.compare(other.name_); 53 int val = name_.compare(other.name_);
44 if (val) 54 if (val)
45 return val < 0; 55 return val < 0;
46 } 56 }
47 57
48 return sink_id_ < other.sink_id_; 58 return sink_id_ < other.sink_id_;
49 } 59 }
50 60
51 } // namespace media_router 61 } // namespace media_router
OLDNEW
« no previous file with comments | « chrome/browser/media/router/media_sink.h ('k') | chrome/browser/media/router/mojo/media_router.mojom » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698