Index: chrome/browser/media/router/media_source.h |
diff --git a/chrome/browser/media/router/media_source.h b/chrome/browser/media/router/media_source.h |
index d90497f2aef1dacda374321e798eaca9f4260179..fbf95278f0d48a42ae6b4efdbf7cc2a09cc3db7f 100644 |
--- a/chrome/browser/media/router/media_source.h |
+++ b/chrome/browser/media/router/media_source.h |
@@ -5,20 +5,42 @@ |
#ifndef CHROME_BROWSER_MEDIA_ROUTER_MEDIA_SOURCE_H_ |
#define CHROME_BROWSER_MEDIA_ROUTER_MEDIA_SOURCE_H_ |
+#include <ostream> |
#include <string> |
namespace media_router { |
+using MediaSourceId = std::string; |
+ |
class MediaSource { |
public: |
- explicit MediaSource(const std::string& id); |
+ explicit MediaSource(const MediaSourceId& id); |
+ MediaSource(); |
~MediaSource(); |
// Gets the ID of the media source. |
- std::string id() const; |
+ MediaSourceId id() const; |
+ |
+ // Returns true if two MediaSource objects use the same media ID. |
+ bool Equals(const MediaSource& other) const; |
+ |
+ // Returns true if a MediaSource is empty or uninitialized. |
+ bool Empty() const; |
+ |
+ // Used for logging. |
+ std::string ToString() const; |
private: |
- std::string id_; |
+ MediaSourceId id_; |
+}; |
+ |
+// Inequality comparison functor to provide map lookup capabilities for |
+// MediaSource. |
+class MediaSourceLess { |
+ public: |
+ bool operator()(const MediaSource& lhs, const MediaSource& rhs) const { |
+ return lhs.id() < rhs.id(); |
xhwang
2015/04/06 20:51:31
Comparing strings isn't efficient. Consider using
imcheng
2015/04/06 21:54:20
Replaced this class with a struct Hash.
|
+ } |
}; |
} // namespace media_router |