pair_failure.cc 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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/common/pair_failure.h"
  5. namespace ash {
  6. namespace quick_pair {
  7. std::ostream& operator<<(std::ostream& stream, PairFailure failure) {
  8. switch (failure) {
  9. case PairFailure::kCreateGattConnection:
  10. stream << "[Failed to create a GATT connection to the device]";
  11. break;
  12. case PairFailure::kGattServiceDiscovery:
  13. stream << "[Failed to find the expected GATT service]";
  14. break;
  15. case PairFailure::kGattServiceDiscoveryTimeout:
  16. stream << "[Timed out while starting discovery of GATT service]";
  17. break;
  18. case PairFailure::kDataEncryptorRetrieval:
  19. stream << "[Failed to retrieve the data encryptor]";
  20. break;
  21. case PairFailure::kKeyBasedPairingCharacteristicDiscovery:
  22. stream << "[Failed to find the Key-based pairing GATT characteristic]";
  23. break;
  24. case PairFailure::kPasskeyCharacteristicDiscovery:
  25. stream << "[Failed to find the Passkey GATT characteristic]";
  26. break;
  27. case PairFailure::kAccountKeyCharacteristicDiscovery:
  28. stream << "[Failed to find the Account Key GATT characteristic]";
  29. break;
  30. case PairFailure::kKeyBasedPairingCharacteristicNotifySession:
  31. stream << "[Failed to start a notify session on the Key-based pairing "
  32. "GATT characteristic]";
  33. break;
  34. case PairFailure::kPasskeyCharacteristicNotifySession:
  35. stream << "[Failed to start a notify session on the Passkey GATT "
  36. "characteristic]";
  37. break;
  38. case PairFailure::kKeyBasedPairingCharacteristicNotifySessionTimeout:
  39. stream << "[Timed out while starting a notify session on the Key-based "
  40. "pairing GATT characteristic]";
  41. break;
  42. case PairFailure::kPasskeyCharacteristicNotifySessionTimeout:
  43. stream << "[Timed out while starting a notify session on the Passkey "
  44. "GATT characteristic]";
  45. break;
  46. case PairFailure::kKeyBasedPairingCharacteristicWrite:
  47. stream
  48. << "[Failed to write to the Key-based pairing GATT characteristic]";
  49. break;
  50. case PairFailure::kPasskeyPairingCharacteristicWrite:
  51. stream << "[Failed to write to the Passkey GATT characteristic]";
  52. break;
  53. case PairFailure::kKeyBasedPairingResponseTimeout:
  54. stream << "[Timed out while waiting for the Key-based Pairing response]";
  55. break;
  56. case PairFailure::kPasskeyResponseTimeout:
  57. stream << "[Timed out while waiting for the Passkey response]";
  58. break;
  59. case PairFailure::kKeybasedPairingResponseDecryptFailure:
  60. stream << "[Failed to decrypt Key-based Pairing response]";
  61. break;
  62. case PairFailure::kIncorrectKeyBasedPairingResponseType:
  63. stream << "[Incorrect Key-based response message type]";
  64. break;
  65. case PairFailure::kPasskeyDecryptFailure:
  66. stream << "[Failed to decrypt Passkey response]";
  67. break;
  68. case PairFailure::kIncorrectPasskeyResponseType:
  69. stream << "[Incorrect Passkey response message type]";
  70. break;
  71. case PairFailure::kPasskeyMismatch:
  72. stream << "[Passkeys did not match]";
  73. break;
  74. case PairFailure::kPairingDeviceLost:
  75. stream << "[Potential pairing device lost during Passkey exchange]";
  76. break;
  77. case PairFailure::kPairingConnect:
  78. stream << "[Failed to bond to discovered device]";
  79. break;
  80. case PairFailure::kAddressConnect:
  81. stream << "[Failed to bond to device via public address]";
  82. break;
  83. }
  84. return stream;
  85. }
  86. } // namespace quick_pair
  87. } // namespace ash