fake_message_stream_lookup.cc 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. // Copyright 2021 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. #include "ash/quick_pair/message_stream/fake_message_stream_lookup.h"
  5. namespace ash {
  6. namespace quick_pair {
  7. FakeMessageStreamLookup::FakeMessageStreamLookup() = default;
  8. FakeMessageStreamLookup::~FakeMessageStreamLookup() = default;
  9. MessageStream* FakeMessageStreamLookup::GetMessageStream(
  10. const std::string& device_address) {
  11. auto it = message_streams_.find(device_address);
  12. if (it == message_streams_.end())
  13. return nullptr;
  14. return it->second;
  15. }
  16. void FakeMessageStreamLookup::AddObserver(Observer* observer) {
  17. observers_.AddObserver(observer);
  18. }
  19. void FakeMessageStreamLookup::RemoveObserver(Observer* observer) {
  20. observers_.RemoveObserver(observer);
  21. }
  22. void FakeMessageStreamLookup::NotifyMessageStreamConnected(
  23. const std::string& device_address,
  24. MessageStream* message_stream) {
  25. for (auto& observer : observers_)
  26. observer.OnMessageStreamConnected(device_address, message_stream);
  27. }
  28. void FakeMessageStreamLookup::AddMessageStream(
  29. const std::string& device_address,
  30. MessageStream* message_stream) {
  31. DCHECK(message_streams_.find(device_address) == message_streams_.end());
  32. message_streams_[device_address] = message_stream;
  33. }
  34. void FakeMessageStreamLookup::RemoveMessageStream(
  35. const std::string& device_address) {
  36. message_streams_.erase(device_address);
  37. }
  38. } // namespace quick_pair
  39. } // namespace ash