| 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 dfa391a8ba33100d76e3f809fdf0e34ca9cb3cce..cea4e1c4a8762618f5ec4217a37c07fd0251ae4b 100644
|
| --- a/chrome/browser/chromeos/arc/arc_optin_uma.cc
|
| +++ b/chrome/browser/chromeos/arc/arc_optin_uma.cc
|
| @@ -56,4 +56,40 @@ void UpdateSilentAuthCodeUMA(OptInSilentAuthCode state) {
|
| static_cast<int>(OptInSilentAuthCode::SIZE));
|
| }
|
|
|
| +std::ostream& operator<<(std::ostream& os, const ProvisioningResult& result) {
|
| +#define MAP_PROVISIONING_RESULT(name) \
|
| + case ProvisioningResult::name: \
|
| + return os << #name
|
| +
|
| + switch (result) {
|
| + MAP_PROVISIONING_RESULT(SUCCESS);
|
| + MAP_PROVISIONING_RESULT(UNKNOWN_ERROR);
|
| + MAP_PROVISIONING_RESULT(GMS_NETWORK_ERROR);
|
| + MAP_PROVISIONING_RESULT(GMS_SERVICE_UNAVAILABLE);
|
| + MAP_PROVISIONING_RESULT(GMS_BAD_AUTHENTICATION);
|
| + MAP_PROVISIONING_RESULT(DEVICE_CHECK_IN_FAILED);
|
| + MAP_PROVISIONING_RESULT(CLOUD_PROVISION_FLOW_FAILED);
|
| + MAP_PROVISIONING_RESULT(MOJO_VERSION_MISMATCH);
|
| + MAP_PROVISIONING_RESULT(MOJO_CALL_TIMEOUT);
|
| + MAP_PROVISIONING_RESULT(DEVICE_CHECK_IN_TIMEOUT);
|
| + MAP_PROVISIONING_RESULT(DEVICE_CHECK_IN_INTERNAL_ERROR);
|
| + MAP_PROVISIONING_RESULT(GMS_SIGN_IN_FAILED);
|
| + MAP_PROVISIONING_RESULT(GMS_SIGN_IN_TIMEOUT);
|
| + MAP_PROVISIONING_RESULT(GMS_SIGN_IN_INTERNAL_ERROR);
|
| + MAP_PROVISIONING_RESULT(CLOUD_PROVISION_FLOW_TIMEOUT);
|
| + MAP_PROVISIONING_RESULT(CLOUD_PROVISION_FLOW_INTERNAL_ERROR);
|
| + MAP_PROVISIONING_RESULT(ARC_STOPPED);
|
| + MAP_PROVISIONING_RESULT(OVERALL_SIGN_IN_TIMEOUT);
|
| + MAP_PROVISIONING_RESULT(CHROME_SERVER_COMMUNICATION_ERROR);
|
| + MAP_PROVISIONING_RESULT(SIZE);
|
| + }
|
| +
|
| +#undef MAP_PROVISIONING_RESULT
|
| +
|
| + // Some compilers report an error even if all values of an enum-class are
|
| + // covered exhaustively in a switch statement.
|
| + NOTREACHED() << "Invalid value " << static_cast<int>(result);
|
| + return os;
|
| +}
|
| +
|
| } // namespace arc
|
|
|