sharesheet_mojom_traits.cc 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. // Copyright 2022 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 "chromeos/crosapi/mojom/sharesheet_mojom_traits.h"
  5. #include "base/notreached.h"
  6. namespace mojo {
  7. crosapi::mojom::SharesheetLaunchSource
  8. EnumTraits<crosapi::mojom::SharesheetLaunchSource,
  9. sharesheet::LaunchSource>::ToMojom(sharesheet::LaunchSource input) {
  10. switch (input) {
  11. default:
  12. NOTREACHED();
  13. [[fallthrough]];
  14. case sharesheet::LaunchSource::kUnknown:
  15. return crosapi::mojom::SharesheetLaunchSource::kUnknown;
  16. case sharesheet::LaunchSource::kWebShare:
  17. return crosapi::mojom::SharesheetLaunchSource::kWebShare;
  18. case sharesheet::LaunchSource::kOmniboxShare:
  19. return crosapi::mojom::SharesheetLaunchSource::kOmniboxShare;
  20. }
  21. }
  22. bool EnumTraits<crosapi::mojom::SharesheetLaunchSource,
  23. sharesheet::LaunchSource>::
  24. FromMojom(crosapi::mojom::SharesheetLaunchSource input,
  25. sharesheet::LaunchSource* output) {
  26. switch (input) {
  27. case crosapi::mojom::SharesheetLaunchSource::kUnknown:
  28. *output = sharesheet::LaunchSource::kUnknown;
  29. return true;
  30. case crosapi::mojom::SharesheetLaunchSource::kWebShare:
  31. *output = sharesheet::LaunchSource::kWebShare;
  32. return true;
  33. case crosapi::mojom::SharesheetLaunchSource::kOmniboxShare:
  34. *output = sharesheet::LaunchSource::kOmniboxShare;
  35. return true;
  36. }
  37. NOTREACHED();
  38. return false;
  39. }
  40. crosapi::mojom::SharesheetResult EnumTraits<
  41. crosapi::mojom::SharesheetResult,
  42. sharesheet::SharesheetResult>::ToMojom(sharesheet::SharesheetResult input) {
  43. switch (input) {
  44. case sharesheet::SharesheetResult::kSuccess:
  45. return crosapi::mojom::SharesheetResult::kSuccess;
  46. case sharesheet::SharesheetResult::kCancel:
  47. return crosapi::mojom::SharesheetResult::kCancel;
  48. case sharesheet::SharesheetResult::kErrorAlreadyOpen:
  49. return crosapi::mojom::SharesheetResult::kErrorAlreadyOpen;
  50. case sharesheet::SharesheetResult::kErrorWindowClosed:
  51. return crosapi::mojom::SharesheetResult::kErrorWindowClosed;
  52. }
  53. NOTREACHED();
  54. }
  55. bool EnumTraits<crosapi::mojom::SharesheetResult,
  56. sharesheet::SharesheetResult>::
  57. FromMojom(crosapi::mojom::SharesheetResult input,
  58. sharesheet::SharesheetResult* output) {
  59. switch (input) {
  60. case crosapi::mojom::SharesheetResult::kSuccess:
  61. *output = sharesheet::SharesheetResult::kSuccess;
  62. return true;
  63. case crosapi::mojom::SharesheetResult::kCancel:
  64. *output = sharesheet::SharesheetResult::kCancel;
  65. return true;
  66. case crosapi::mojom::SharesheetResult::kErrorAlreadyOpen:
  67. *output = sharesheet::SharesheetResult::kErrorAlreadyOpen;
  68. return true;
  69. case crosapi::mojom::SharesheetResult::kErrorWindowClosed:
  70. *output = sharesheet::SharesheetResult::kErrorWindowClosed;
  71. return true;
  72. }
  73. NOTREACHED();
  74. return false;
  75. }
  76. } // namespace mojo