Chromium Code Reviews| Index: chrome/browser/chromeos/arc/arc_optin_uma.cc |
| diff --git a/chrome/browser/chromeos/arc/arc_optin_uma.cc b/chrome/browser/chromeos/arc/arc_optin_uma.cc |
| index f2ff20afe5eb670952cd6ded772fb7110e1dcde7..bdf1679b0e46390f5d3bc0d37055764179bc7bd8 100644 |
| --- a/chrome/browser/chromeos/arc/arc_optin_uma.cc |
| +++ b/chrome/browser/chromeos/arc/arc_optin_uma.cc |
| @@ -54,4 +54,54 @@ void UpdateSilentAuthCodeUMA(OptInSilentAuthCode state) { |
| static_cast<int>(OptInSilentAuthCode::SIZE)); |
| } |
| +std::ostream& operator<<(std::ostream& os, const ProvisioningResult& result) { |
| + switch (result) { |
| + case ProvisioningResult::SUCCESS: |
|
Yusuke Sato
2017/02/08 07:48:55
How about using a macro to avoid repeating the sam
hidehiko
2017/02/08 14:16:30
FYI: then maybe it looks better to use something s
Luis Héctor Chávez
2017/02/08 18:11:16
sounds good. I'll also convert the one in arc_sess
|
| + return os << "SUCCESS"; |
| + case ProvisioningResult::UNKNOWN_ERROR: |
| + return os << "UNKNOWN_ERROR"; |
| + case ProvisioningResult::GMS_NETWORK_ERROR: |
| + return os << "GMS_NETWORK_ERROR"; |
| + case ProvisioningResult::GMS_SERVICE_UNAVAILABLE: |
| + return os << "GMS_SERVICE_UNAVAILABLE"; |
| + case ProvisioningResult::GMS_BAD_AUTHENTICATION: |
| + return os << "GMS_BAD_AUTHENTICATION"; |
| + case ProvisioningResult::DEVICE_CHECK_IN_FAILED: |
| + return os << "DEVICE_CHECK_IN_FAILED"; |
| + case ProvisioningResult::CLOUD_PROVISION_FLOW_FAILED: |
| + return os << "CLOUD_PROVISION_FLOW_FAILED"; |
| + case ProvisioningResult::MOJO_VERSION_MISMATCH: |
| + return os << "MOJO_VERSION_MISMATCH"; |
| + case ProvisioningResult::MOJO_CALL_TIMEOUT: |
| + return os << "MOJO_CALL_TIMEOUT"; |
| + case ProvisioningResult::DEVICE_CHECK_IN_TIMEOUT: |
| + return os << "DEVICE_CHECK_IN_TIMEOUT"; |
| + case ProvisioningResult::DEVICE_CHECK_IN_INTERNAL_ERROR: |
| + return os << "DEVICE_CHECK_IN_INTERNAL_ERROR"; |
| + case ProvisioningResult::GMS_SIGN_IN_FAILED: |
| + return os << "GMS_SIGN_IN_FAILED"; |
| + case ProvisioningResult::GMS_SIGN_IN_TIMEOUT: |
| + return os << "GMS_SIGN_IN_TIMEOUT"; |
| + case ProvisioningResult::GMS_SIGN_IN_INTERNAL_ERROR: |
| + return os << "GMS_SIGN_IN_INTERNAL_ERROR"; |
| + case ProvisioningResult::CLOUD_PROVISION_FLOW_TIMEOUT: |
| + return os << "CLOUD_PROVISION_FLOW_TIMEOUT"; |
| + case ProvisioningResult::CLOUD_PROVISION_FLOW_INTERNAL_ERROR: |
| + return os << "CLOUD_PROVISION_FLOW_INTERNAL_ERROR"; |
| + case ProvisioningResult::ARC_STOPPED: |
| + return os << "ARC_STOPPED"; |
| + case ProvisioningResult::OVERALL_SIGN_IN_TIMEOUT: |
| + return os << "OVERALL_SIGN_IN_TIMEOUT"; |
| + case ProvisioningResult::CHROME_SERVER_COMMUNICATION_ERROR: |
| + return os << "CHROME_SERVER_COMMUNICATION_ERROR"; |
| + case ProvisioningResult::SIZE: |
| + return os << "SIZE"; |
| + } |
| + |
| + // Some compilers report an error even if all values of an enum-class are |
| + // covered exhaustively in a switch statement. |
| + NOTREACHED(); |
| + return os; |
|
Yusuke Sato
2017/02/08 07:48:55
os << "Invalid value " << static_cast<...>(result)
Luis Héctor Chávez
2017/02/08 18:11:16
Done.
|
| +} |
| + |
| } // namespace arc |