File: message_util.cc

package info (click to toggle)
chromium 139.0.7258.127-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 6,122,156 kB
  • sloc: cpp: 35,100,771; ansic: 7,163,530; javascript: 4,103,002; python: 1,436,920; asm: 946,517; xml: 746,709; pascal: 187,653; perl: 88,691; sh: 88,436; objc: 79,953; sql: 51,488; cs: 44,583; fortran: 24,137; makefile: 22,147; tcl: 15,277; php: 13,980; yacc: 8,984; ruby: 7,485; awk: 3,720; lisp: 3,096; lex: 1,327; ada: 727; jsp: 228; sed: 36
file content (161 lines) | stat: -rw-r--r-- 7,180 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "components/policy/core/browser/cloud/message_util.h"

#include "base/notreached.h"
#include "components/strings/grit/components_strings.h"
#include "ui/base/l10n/l10n_util.h"

namespace policy {

namespace {

int GetIDSForDMStatus(DeviceManagementStatus status) {
  switch (status) {
    case DM_STATUS_SUCCESS:
      return IDS_POLICY_DM_STATUS_SUCCESS;
    case DM_STATUS_REQUEST_INVALID:
      return IDS_POLICY_DM_STATUS_REQUEST_INVALID;
    case DM_STATUS_REQUEST_FAILED:
      return IDS_POLICY_DM_STATUS_REQUEST_FAILED;
    case DM_STATUS_TEMPORARY_UNAVAILABLE:
      return IDS_POLICY_DM_STATUS_TEMPORARY_UNAVAILABLE;
    case DM_STATUS_HTTP_STATUS_ERROR:
      return IDS_POLICY_DM_STATUS_HTTP_STATUS_ERROR;
    case DM_STATUS_RESPONSE_DECODING_ERROR:
      return IDS_POLICY_DM_STATUS_RESPONSE_DECODING_ERROR;
    case DM_STATUS_SERVICE_MANAGEMENT_NOT_SUPPORTED:
      return IDS_POLICY_DM_STATUS_SERVICE_MANAGEMENT_NOT_SUPPORTED;
    case DM_STATUS_SERVICE_DEVICE_NOT_FOUND:
      return IDS_POLICY_DM_STATUS_SERVICE_DEVICE_NOT_FOUND;
    case DM_STATUS_SERVICE_MANAGEMENT_TOKEN_INVALID:
      return IDS_POLICY_DM_STATUS_SERVICE_MANAGEMENT_TOKEN_INVALID;
    case DM_STATUS_SERVICE_ACTIVATION_PENDING:
      return IDS_POLICY_DM_STATUS_SERVICE_ACTIVATION_PENDING;
    case DM_STATUS_SERVICE_INVALID_SERIAL_NUMBER:
      return IDS_POLICY_DM_STATUS_SERVICE_INVALID_SERIAL_NUMBER;
    case DM_STATUS_SERVICE_DEVICE_ID_CONFLICT:
      return IDS_POLICY_DM_STATUS_SERVICE_DEVICE_ID_CONFLICT;
    case DM_STATUS_SERVICE_MISSING_LICENSES:
      return IDS_POLICY_DM_STATUS_SERVICE_MISSING_LICENSES;
    case DM_STATUS_SERVICE_DEPROVISIONED:
      return IDS_POLICY_DM_STATUS_SERVICE_DEPROVISIONED;
    case DM_STATUS_SERVICE_DOMAIN_MISMATCH:
      return IDS_POLICY_DM_STATUS_SERVICE_DOMAIN_MISMATCH;
    case DM_STATUS_SERVICE_POLICY_NOT_FOUND:
      return IDS_POLICY_DM_STATUS_SERVICE_POLICY_NOT_FOUND;
    case DM_STATUS_CANNOT_SIGN_REQUEST:
      return IDS_POLICY_DM_STATUS_CANNOT_SIGN_REQUEST;
    case DM_STATUS_REQUEST_TOO_LARGE:
      return IDS_POLICY_DM_STATUS_REQUEST_TOO_LARGE;
    case DM_STATUS_SERVICE_ARC_DISABLED:
      // This error is never shown on the UI.
      return IDS_POLICY_DM_STATUS_UNKNOWN_ERROR;
    case DM_STATUS_SERVICE_TOO_MANY_REQUESTS:
      return IDS_POLICY_DM_STATUS_SERVICE_TOO_MANY_REQUESTS;
    case DM_STATUS_SERVICE_DEVICE_NEEDS_RESET:
      return IDS_POLICY_DM_STATUS_SERVICE_DEVICE_NEEDS_RESET;
    case DM_STATUS_SERVICE_CONSUMER_ACCOUNT_WITH_PACKAGED_LICENSE:
      return IDS_POLICY_DM_STATUS_CONSUMER_ACCOUNT_WITH_PACKAGED_LICENSE;
    case DM_STATUS_SERVICE_ENTERPRISE_ACCOUNT_IS_NOT_ELIGIBLE_TO_ENROLL:
      return IDS_POLICY_DM_STATUS_ENTERPRISE_ACCOUNT_IS_NOT_ELIGIBLE_TO_ENROLL;
    case DM_STATUS_SERVICE_ENTERPRISE_TOS_HAS_NOT_BEEN_ACCEPTED:
      // This is shown only on registration failed.
      return IDS_POLICY_DM_STATUS_UNKNOWN_ERROR;
    case DM_STATUS_SERVICE_INVALID_PACKAGED_DEVICE_FOR_KIOSK:
      return IDS_POLICY_DM_STATUS_INVALID_PACKAGED_DEVICE_FOR_KIOSK;
    case DM_STATUS_SERVICE_ILLEGAL_ACCOUNT_FOR_PACKAGED_EDU_LICENSE:
      return IDS_POLICY_DM_STATUS_SERVICE_DOMAIN_MISMATCH;
    case DM_STATUS_SERVICE_ORG_UNIT_ENROLLMENT_LIMIT_EXCEEEDED:
      return IDS_POLICY_DM_STATUS_ORG_UNIT_ENROLLMENT_LIMIT_EXCEEDED;
  }
  NOTREACHED() << "Unhandled DM status " << status;
}

int GetIDSForValidationStatus(CloudPolicyValidatorBase::Status status) {
  switch (status) {
    case CloudPolicyValidatorBase::VALIDATION_OK:
      return IDS_POLICY_VALIDATION_OK;
    case CloudPolicyValidatorBase::VALIDATION_BAD_INITIAL_SIGNATURE:
      return IDS_POLICY_VALIDATION_BAD_INITIAL_SIGNATURE;
    case CloudPolicyValidatorBase::VALIDATION_BAD_SIGNATURE:
      return IDS_POLICY_VALIDATION_BAD_SIGNATURE;
    case CloudPolicyValidatorBase::VALIDATION_ERROR_CODE_PRESENT:
      return IDS_POLICY_VALIDATION_ERROR_CODE_PRESENT;
    case CloudPolicyValidatorBase::VALIDATION_PAYLOAD_PARSE_ERROR:
      return IDS_POLICY_VALIDATION_PAYLOAD_PARSE_ERROR;
    case CloudPolicyValidatorBase::VALIDATION_WRONG_POLICY_TYPE:
      return IDS_POLICY_VALIDATION_WRONG_POLICY_TYPE;
    case CloudPolicyValidatorBase::VALIDATION_WRONG_SETTINGS_ENTITY_ID:
      return IDS_POLICY_VALIDATION_WRONG_SETTINGS_ENTITY_ID;
    case CloudPolicyValidatorBase::VALIDATION_BAD_TIMESTAMP:
      return IDS_POLICY_VALIDATION_BAD_TIMESTAMP;
    case CloudPolicyValidatorBase::VALIDATION_BAD_DM_TOKEN:
      return IDS_POLICY_VALIDATION_BAD_DM_TOKEN;
    case CloudPolicyValidatorBase::VALIDATION_BAD_DEVICE_ID:
      return IDS_POLICY_VALIDATION_BAD_DEVICE_ID;
    case CloudPolicyValidatorBase::VALIDATION_BAD_USER:
      return IDS_POLICY_VALIDATION_BAD_USER;
    case CloudPolicyValidatorBase::VALIDATION_POLICY_PARSE_ERROR:
      return IDS_POLICY_VALIDATION_POLICY_PARSE_ERROR;
    case CloudPolicyValidatorBase::VALIDATION_BAD_KEY_VERIFICATION_SIGNATURE:
      return IDS_POLICY_VALIDATION_BAD_KEY_VERIFICATION_SIGNATURE;
    case CloudPolicyValidatorBase::VALIDATION_VALUE_WARNING:
      return IDS_POLICY_VALIDATION_VALUE_WARNING;
    case CloudPolicyValidatorBase::VALIDATION_VALUE_ERROR:
      return IDS_POLICY_VALIDATION_VALUE_ERROR;
    case CloudPolicyValidatorBase::VALIDATION_STATUS_SIZE:
      NOTREACHED();
  }
  NOTREACHED() << "Unhandled validation status " << status;
}

int GetIDSForStoreStatus(CloudPolicyStore::Status status) {
  switch (status) {
    case CloudPolicyStore::STATUS_OK:
      return IDS_POLICY_STORE_STATUS_OK;
    case CloudPolicyStore::STATUS_LOAD_ERROR:
      return IDS_POLICY_STORE_STATUS_LOAD_ERROR;
    case CloudPolicyStore::STATUS_STORE_ERROR:
      return IDS_POLICY_STORE_STATUS_STORE_ERROR;
    case CloudPolicyStore::STATUS_PARSE_ERROR:
      return IDS_POLICY_STORE_STATUS_PARSE_ERROR;
    case CloudPolicyStore::STATUS_SERIALIZE_ERROR:
      return IDS_POLICY_STORE_STATUS_SERIALIZE_ERROR;
    case CloudPolicyStore::STATUS_VALIDATION_ERROR:
      // This is handled separately below to include the validation error.
      break;
    case CloudPolicyStore::STATUS_BAD_STATE:
      return IDS_POLICY_STORE_STATUS_BAD_STATE;
  }
  NOTREACHED() << "Unhandled store status " << status;
}

}  // namespace

std::u16string FormatDeviceManagementStatus(DeviceManagementStatus status) {
  return l10n_util::GetStringUTF16(GetIDSForDMStatus(status));
}

std::u16string FormatValidationStatus(
    CloudPolicyValidatorBase::Status validation_status) {
  return l10n_util::GetStringUTF16(
      GetIDSForValidationStatus(validation_status));
}

std::u16string FormatStoreStatus(
    CloudPolicyStore::Status store_status,
    CloudPolicyValidatorBase::Status validation_status) {
  if (store_status == CloudPolicyStore::STATUS_VALIDATION_ERROR) {
    return l10n_util::GetStringFUTF16(
        IDS_POLICY_STORE_STATUS_VALIDATION_ERROR,
        l10n_util::GetStringUTF16(
            GetIDSForValidationStatus(validation_status)));
  }

  return l10n_util::GetStringUTF16(GetIDSForStoreStatus(store_status));
}

}  // namespace policy