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..fc43c5daaa40e00bc12ef91bebcd258017edc18c 100644 |
--- a/components/cast_channel/cast_socket_service.cc |
+++ b/components/cast_channel/cast_socket_service.cc |
@@ -52,6 +52,22 @@ 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( |
+ socket_observer_map_.begin(), socket_observer_map_.end(), |
+ [id](const std::pair<const std::string, |
mark a. foltz
2017/06/20 01:16:43
Can the parameter passed to the lambda be const au
zhaobin
2017/06/20 17:50:05
Seems not.. Got ''auto' not allowed in lambda para
|
+ std::unique_ptr<CastSocket::Observer>>& entry) { |
+ return entry.first == id; |
+ }); |
+ return it == socket_observer_map_.end() ? nullptr : it->second.get(); |
+} |
+ |
+void CastSocketService::AddObserver( |
+ const std::string& id, |
+ std::unique_ptr<CastSocket::Observer> observer) { |
+ socket_observer_map_.insert(std::make_pair(id, std::move(observer))); |
+} |
+ |
void CastSocketService::ShutdownOnUIThread() {} |
} // namespace cast_channel |