Index: components/cast_channel/cast_socket_service.cc |
diff --git a/components/cast_channel/cast_socket_service.cc b/components/cast_channel/cast_socket_service.cc |
index f58c9858e9212121ed2ad48758d411773747d708..7fd1835e420dbccf0d155241e14f2484b1ec326d 100644 |
--- a/components/cast_channel/cast_socket_service.cc |
+++ b/components/cast_channel/cast_socket_service.cc |
@@ -52,6 +52,24 @@ CastSocket* CastSocketService::GetSocket(int channel_id) const { |
return socket_it == sockets_.end() ? nullptr : socket_it->second.get(); |
} |
+CastSocket::Observer* CastSocketService::GetObserver(const std::string& id) { |
+ auto it = std::find_if( |
imcheng
2017/06/21 01:22:52
It seems sufficient to just use socket_observer_ma
zhaobin
2017/06/21 17:48:13
Done.
|
+ socket_observer_map_.begin(), socket_observer_map_.end(), |
+ [id](const std::pair<const std::string, |
+ std::unique_ptr<CastSocket::Observer>>& entry) { |
+ return entry.first == id; |
+ }); |
+ return it == socket_observer_map_.end() ? nullptr : it->second.get(); |
+} |
+ |
+CastSocket::Observer* CastSocketService::AddObserver( |
+ const std::string& id, |
+ std::unique_ptr<CastSocket::Observer> observer) { |
+ CastSocket::Observer* observer_ptr = observer.get(); |
+ socket_observer_map_.insert(std::make_pair(id, std::move(observer))); |
+ return observer_ptr; |
+} |
+ |
void CastSocketService::ShutdownOnUIThread() {} |
} // namespace cast_channel |