Line data Source code
1 : /*
2 : *
3 : * Copyright (c) 2021 Project CHIP Authors
4 : * All rights reserved.
5 : *
6 : * Licensed under the Apache License, Version 2.0 (the "License");
7 : * you may not use this file except in compliance with the License.
8 : * You may obtain a copy of the License at
9 : *
10 : * http://www.apache.org/licenses/LICENSE-2.0
11 : *
12 : * Unless required by applicable law or agreed to in writing, software
13 : * distributed under the License is distributed on an "AS IS" BASIS,
14 : * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 : * See the License for the specific language governing permissions and
16 : * limitations under the License.
17 : */
18 :
19 : #include <controller/CommissioningDelegate.h>
20 :
21 : namespace chip {
22 : namespace Controller {
23 :
24 4 : const char * StageToString(CommissioningStage stage)
25 : {
26 4 : switch (stage)
27 : {
28 0 : case kError:
29 0 : return "Error";
30 :
31 1 : case kSecurePairing:
32 1 : return "SecurePairing";
33 :
34 0 : case kReadCommissioningInfo:
35 0 : return "ReadCommissioningInfo";
36 :
37 0 : case kArmFailsafe:
38 0 : return "ArmFailSafe";
39 :
40 0 : case kScanNetworks:
41 0 : return "ScanNetworks";
42 :
43 0 : case kConfigRegulatory:
44 0 : return "ConfigRegulatory";
45 :
46 0 : case kConfigureTCAcknowledgments:
47 0 : return "ConfigureTCAcknowledgments";
48 :
49 0 : case kConfigureUTCTime:
50 0 : return "ConfigureUTCTime";
51 :
52 0 : case kConfigureTimeZone:
53 0 : return "ConfigureTimeZone";
54 :
55 0 : case kConfigureDSTOffset:
56 0 : return "ConfigureDSTOffset";
57 :
58 0 : case kConfigureDefaultNTP:
59 0 : return "ConfigureDefaultNTP";
60 :
61 0 : case kSendPAICertificateRequest:
62 0 : return "SendPAICertificateRequest";
63 :
64 0 : case kSendDACCertificateRequest:
65 0 : return "SendDACCertificateRequest";
66 :
67 0 : case kSendAttestationRequest:
68 0 : return "SendAttestationRequest";
69 :
70 0 : case kAttestationVerification:
71 0 : return "AttestationVerification";
72 :
73 0 : case kAttestationRevocationCheck:
74 0 : return "AttestationRevocationCheck";
75 : #if CHIP_DEVICE_CONFIG_ENABLE_JOINT_FABRIC
76 : case kJCMTrustVerification:
77 : return "JCMTrustVerification";
78 : #endif // CHIP_DEVICE_CONFIG_ENABLE_JOINT_FABRIC
79 0 : case kSendOpCertSigningRequest:
80 0 : return "SendOpCertSigningRequest";
81 :
82 0 : case kValidateCSR:
83 0 : return "ValidateCSR";
84 :
85 0 : case kGenerateNOCChain:
86 0 : return "GenerateNOCChain";
87 :
88 0 : case kSendTrustedRootCert:
89 0 : return "SendTrustedRootCert";
90 :
91 1 : case kSendNOC:
92 1 : return "SendNOC";
93 :
94 0 : case kConfigureTrustedTimeSource:
95 0 : return "ConfigureTrustedTimeSource";
96 :
97 0 : case kICDGetRegistrationInfo:
98 0 : return "ICDGetRegistrationInfo";
99 :
100 0 : case kICDRegistration:
101 0 : return "ICDRegistration";
102 :
103 0 : case kWiFiNetworkSetup:
104 0 : return "WiFiNetworkSetup";
105 :
106 0 : case kThreadNetworkSetup:
107 0 : return "ThreadNetworkSetup";
108 :
109 0 : case kFailsafeBeforeWiFiEnable:
110 0 : return "FailsafeBeforeWiFiEnable";
111 :
112 0 : case kFailsafeBeforeThreadEnable:
113 0 : return "FailsafeBeforeThreadEnable";
114 :
115 0 : case kWiFiNetworkEnable:
116 0 : return "WiFiNetworkEnable";
117 :
118 0 : case kThreadNetworkEnable:
119 0 : return "ThreadNetworkEnable";
120 :
121 1 : case kEvictPreviousCaseSessions:
122 1 : return "EvictPreviousCaseSessions";
123 :
124 0 : case kFindOperationalForStayActive:
125 0 : return "FindOperationalForStayActive";
126 :
127 0 : case kFindOperationalForCommissioningComplete:
128 0 : return "FindOperationalForCommissioningComplete";
129 :
130 0 : case kICDSendStayActive:
131 0 : return "ICDSendStayActive";
132 :
133 0 : case kSendComplete:
134 0 : return "SendComplete";
135 :
136 0 : case kCleanup:
137 0 : return "Cleanup";
138 :
139 0 : case kNeedsNetworkCreds:
140 0 : return "NeedsNetworkCreds";
141 :
142 0 : case kPrimaryOperationalNetworkFailed:
143 0 : return "PrimaryOperationalNetworkFailed";
144 :
145 0 : case kRemoveWiFiNetworkConfig:
146 0 : return "RemoveWiFiNetworkConfig";
147 :
148 0 : case kRemoveThreadNetworkConfig:
149 0 : return "RemoveThreadNetworkConfig";
150 :
151 : #if CHIP_DEVICE_CONFIG_ENABLE_NFC_BASED_COMMISSIONING
152 : case kUnpoweredPhaseComplete:
153 : return "UnpoweredPhaseComplete";
154 : #endif
155 :
156 1 : default:
157 1 : return "???";
158 : }
159 : }
160 :
161 : #if MATTER_TRACING_ENABLED
162 : const char * MetricKeyForCommissioningStage(CommissioningStage stage)
163 : {
164 : switch (stage)
165 : {
166 : case kError:
167 : return "core_commissioning_stage_error";
168 :
169 : case kSecurePairing:
170 : return "core_commissioning_stage_secure_pairing";
171 :
172 : case kReadCommissioningInfo:
173 : return "core_commissioning_stage_read_commissioning_info";
174 :
175 : case kArmFailsafe:
176 : return "core_commissioning_stage_arm_failsafe";
177 :
178 : case kScanNetworks:
179 : return "core_commissioning_stage_scan_networks";
180 :
181 : case kConfigRegulatory:
182 : return "core_commissioning_stage_config_regulatory";
183 :
184 : case kConfigureUTCTime:
185 : return "core_commissioning_stage_configure_utc_time";
186 :
187 : case kConfigureTimeZone:
188 : return "core_commissioning_stage_configure_timezone";
189 :
190 : case kConfigureDSTOffset:
191 : return "core_commissioning_stage_configure_dst_offset";
192 :
193 : case kConfigureDefaultNTP:
194 : return "core_commissioning_stage_configure_default_ntp";
195 :
196 : case kSendPAICertificateRequest:
197 : return "core_commissioning_stage_send_pai_certificate_request";
198 :
199 : case kSendDACCertificateRequest:
200 : return "core_commissioning_stage_send_dac_certificate_request";
201 :
202 : case kSendAttestationRequest:
203 : return "core_commissioning_stage_send_attestation_request";
204 :
205 : case kAttestationVerification:
206 : return "core_commissioning_stage_attestation_verification";
207 :
208 : case kSendOpCertSigningRequest:
209 : return "core_commissioning_stage_opcert_signing_request";
210 :
211 : case kValidateCSR:
212 : return "core_commissioning_stage_validate_csr";
213 :
214 : case kGenerateNOCChain:
215 : return "core_commissioning_stage_generate_noc_chain";
216 :
217 : case kSendTrustedRootCert:
218 : return "core_commissioning_stage_send_trusted_root_cert";
219 :
220 : case kSendNOC:
221 : return "core_commissioning_stage_send_noc";
222 :
223 : case kConfigureTrustedTimeSource:
224 : return "core_commissioning_stage_configure_trusted_time_source";
225 :
226 : case kICDGetRegistrationInfo:
227 : return "core_commissioning_stage_icd_get_registration_info";
228 :
229 : case kICDRegistration:
230 : return "core_commissioning_stage_icd_registration";
231 :
232 : case kWiFiNetworkSetup:
233 : return "core_commissioning_stage_wifi_network_setup";
234 :
235 : case kThreadNetworkSetup:
236 : return "core_commissioning_stage_thread_network_setup";
237 :
238 : case kFailsafeBeforeWiFiEnable:
239 : return "core_commissioning_stage_failsafe_before_wifi_enable";
240 :
241 : case kFailsafeBeforeThreadEnable:
242 : return "core_commissioning_stage_failsafe_before_thread_enable";
243 :
244 : case kWiFiNetworkEnable:
245 : return "core_commissioning_stage_wifi_network_enable";
246 :
247 : case kThreadNetworkEnable:
248 : return "core_commissioning_stage_thread_network_enable";
249 :
250 : case kEvictPreviousCaseSessions:
251 : return "core_commissioning_stage_evict_previous_case_sessions";
252 :
253 : case kFindOperationalForStayActive:
254 : return "core_commissioning_stage_find_operational_for_stay_active";
255 :
256 : case kFindOperationalForCommissioningComplete:
257 : return "core_commissioning_stage_find_operational_for_commissioning_complete";
258 :
259 : case kICDSendStayActive:
260 : return "core_commissioning_stage_icd_send_stay_active";
261 :
262 : case kSendComplete:
263 : return "core_commissioning_stage_send_complete";
264 :
265 : case kCleanup:
266 : return "core_commissioning_stage_cleanup";
267 :
268 : case kNeedsNetworkCreds:
269 : return "core_commissioning_stage_need_network_creds";
270 :
271 : #if CHIP_DEVICE_CONFIG_ENABLE_NFC_BASED_COMMISSIONING
272 : case kUnpoweredPhaseComplete:
273 : return "core_commissioning_stage_unpowered_phase";
274 : #endif
275 :
276 : default:
277 : return "core_commissioning_stage_unknown";
278 : }
279 : }
280 : #endif
281 :
282 : } // namespace Controller
283 : } // namespace chip
|