esim_test_utils.cc 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. // Copyright 2020 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/services/cellular_setup/esim_test_utils.h"
  5. #include "ash/services/cellular_setup/public/mojom/esim_manager.mojom.h"
  6. #include "base/run_loop.h"
  7. namespace ash::cellular_setup {
  8. mojom::EuiccPropertiesPtr GetEuiccProperties(
  9. const mojo::Remote<mojom::Euicc>& euicc) {
  10. mojom::EuiccPropertiesPtr result;
  11. base::RunLoop run_loop;
  12. euicc->GetProperties(base::BindOnce(
  13. [](mojom::EuiccPropertiesPtr* out, base::OnceClosure quit_closure,
  14. mojom::EuiccPropertiesPtr properties) {
  15. *out = std::move(properties);
  16. std::move(quit_closure).Run();
  17. },
  18. &result, run_loop.QuitClosure()));
  19. run_loop.Run();
  20. return result;
  21. }
  22. mojom::ESimProfilePropertiesPtr GetESimProfileProperties(
  23. const mojo::Remote<mojom::ESimProfile>& esim_profile) {
  24. mojom::ESimProfilePropertiesPtr result;
  25. base::RunLoop run_loop;
  26. esim_profile->GetProperties(base::BindOnce(
  27. [](mojom::ESimProfilePropertiesPtr* out, base::OnceClosure quit_closure,
  28. mojom::ESimProfilePropertiesPtr properties) {
  29. *out = std::move(properties);
  30. std::move(quit_closure).Run();
  31. },
  32. &result, run_loop.QuitClosure()));
  33. run_loop.Run();
  34. return result;
  35. }
  36. std::vector<mojo::PendingRemote<mojom::ESimProfile>> GetProfileList(
  37. const mojo::Remote<mojom::Euicc>& euicc) {
  38. std::vector<mojo::PendingRemote<mojom::ESimProfile>> result;
  39. base::RunLoop run_loop;
  40. euicc->GetProfileList(base::BindOnce(
  41. [](std::vector<mojo::PendingRemote<mojom::ESimProfile>>* out,
  42. base::OnceClosure quit_closure,
  43. std::vector<mojo::PendingRemote<mojom::ESimProfile>> profile_list) {
  44. *out = std::move(profile_list);
  45. std::move(quit_closure).Run();
  46. },
  47. &result, run_loop.QuitClosure()));
  48. run_loop.Run();
  49. return result;
  50. }
  51. } // namespace ash::cellular_setup