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 0 : const char * StageToString(CommissioningStage stage)
25 : {
26 0 : switch (stage)
27 : {
28 0 : case kError:
29 0 : return "Error";
30 :
31 0 : case kSecurePairing:
32 0 : 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 :
76 : #if CHIP_DEVICE_CONFIG_ENABLE_JOINT_FABRIC
77 : case kJFValidateNOC:
78 : return "JFValidateNOC";
79 :
80 : case kSendVIDVerificationRequest:
81 : return "SendVIDVerificationRequest";
82 : #endif // CHIP_DEVICE_CONFIG_ENABLE_JOINT_FABRIC
83 :
84 0 : case kSendOpCertSigningRequest:
85 0 : return "SendOpCertSigningRequest";
86 :
87 0 : case kValidateCSR:
88 0 : return "ValidateCSR";
89 :
90 0 : case kGenerateNOCChain:
91 0 : return "GenerateNOCChain";
92 :
93 0 : case kSendTrustedRootCert:
94 0 : return "SendTrustedRootCert";
95 :
96 0 : case kSendNOC:
97 0 : return "SendNOC";
98 :
99 0 : case kConfigureTrustedTimeSource:
100 0 : return "ConfigureTrustedTimeSource";
101 :
102 0 : case kICDGetRegistrationInfo:
103 0 : return "ICDGetRegistrationInfo";
104 :
105 0 : case kICDRegistration:
106 0 : return "ICDRegistration";
107 :
108 0 : case kWiFiNetworkSetup:
109 0 : return "WiFiNetworkSetup";
110 :
111 0 : case kThreadNetworkSetup:
112 0 : return "ThreadNetworkSetup";
113 :
114 0 : case kFailsafeBeforeWiFiEnable:
115 0 : return "FailsafeBeforeWiFiEnable";
116 :
117 0 : case kFailsafeBeforeThreadEnable:
118 0 : return "FailsafeBeforeThreadEnable";
119 :
120 0 : case kWiFiNetworkEnable:
121 0 : return "WiFiNetworkEnable";
122 :
123 0 : case kThreadNetworkEnable:
124 0 : return "ThreadNetworkEnable";
125 :
126 0 : case kEvictPreviousCaseSessions:
127 0 : return "kEvictPreviousCaseSessions";
128 :
129 0 : case kFindOperationalForStayActive:
130 0 : return "kFindOperationalForStayActive";
131 :
132 0 : case kFindOperationalForCommissioningComplete:
133 0 : return "kFindOperationalForCommissioningComplete";
134 :
135 0 : case kICDSendStayActive:
136 0 : return "ICDSendStayActive";
137 :
138 0 : case kSendComplete:
139 0 : return "SendComplete";
140 :
141 0 : case kCleanup:
142 0 : return "Cleanup";
143 :
144 0 : case kNeedsNetworkCreds:
145 0 : return "NeedsNetworkCreds";
146 :
147 0 : case kPrimaryOperationalNetworkFailed:
148 0 : return "PrimaryOperationalNetworkFailed";
149 :
150 0 : case kRemoveWiFiNetworkConfig:
151 0 : return "RemoveWiFiNetworkConfig";
152 :
153 0 : case kRemoveThreadNetworkConfig:
154 0 : return "RemoveThreadNetworkConfig";
155 :
156 0 : default:
157 0 : 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 : default:
272 : return "core_commissioning_stage_unknown";
273 : }
274 : }
275 : #endif
276 :
277 : } // namespace Controller
278 : } // namespace chip
|