1 /*
2 * Copyright (c) 2021-2023 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16 #include "common/util/form_util.h"
17
18 #include <set>
19 #include <thread>
20 #include <chrono>
21 #include <cinttypes>
22 #include <regex>
23
24 #include "accesstoken_kit.h"
25 #include "bundle_constants.h"
26 #include "fms_log_wrapper.h"
27 #include "form_constants.h"
28 #include "ipc_skeleton.h"
29 #include "os_account_manager_wrapper.h"
30
31 namespace OHOS {
32 namespace AppExecFwk {
33 namespace {
34 constexpr int64_t SEC_TO_NANOSEC = 1000000000;
35 constexpr int64_t SEC_TO_MILLISEC = 1000;
36 constexpr int64_t MILLISEC_TO_NANOSEC = 1000000;
37 constexpr int64_t INVALID_UDID_HASH = 0;
38 constexpr int32_t SYSTEM_UID = 1000;
39 constexpr int INT_64_LENGTH = 19;
40 constexpr int ZERO_VALUE = 0;
41 constexpr int BASE_NUMBER = 9;
42 constexpr int64_t HEAD_BIT_NUM = 9000000000000000000;
43 } // namespace
44
45 using namespace std;
46 using namespace std::chrono;
47
48 static std::set<uint64_t> s_memFormIds;
49 static std::mutex s_memFormIdsMutex;
50
51 /**
52 * @brief create form id for form.
53 * @param udidHash udid hash
54 * @return new form id.
55 */
GenerateFormId(int64_t udidHash)56 int64_t FormUtil::GenerateFormId(int64_t udidHash)
57 {
58 set<uint64_t>::iterator it;
59 const int retryTimes = 5;
60 const int delayMs = 1;
61 int64_t elapsedTime = 0;
62 size_t elapsedHash = 0;
63 uint64_t unsignedUdidHash = 0;
64 uint64_t formId = 0;
65 int64_t ret = -1;
66 struct timespec t;
67 t.tv_sec = 0;
68 t.tv_nsec = 0;
69 for (int i = 0; i < retryTimes; i++) {
70 clock_gettime(CLOCK_REALTIME, &t);
71 elapsedTime = (t.tv_sec) * SEC_TO_NANOSEC + t.tv_nsec;
72 elapsedHash = std::hash<std::string>()(std::to_string(elapsedTime));
73 unsignedUdidHash = static_cast<uint64_t>(udidHash);
74 formId = unsignedUdidHash | (uint32_t)(elapsedHash & 0x000000007fffffffL);
75 ret = static_cast<int64_t>(formId);
76 std::lock_guard<std::mutex> lock(s_memFormIdsMutex);
77 it = s_memFormIds.find(formId);
78 if (it != s_memFormIds.end()) {
79 HILOG_INFO("repeated formId:%{public}" PRId64, ret);
80 std::this_thread::sleep_for(std::chrono::milliseconds(delayMs));
81 } else {
82 s_memFormIds.insert(formId);
83 break;
84 }
85 }
86 HILOG_INFO("generate elapsed hash %{public}zu, formId:%{public}" PRId64, elapsedHash, ret);
87 return ret;
88 }
89
90 /**
91 @brief delete form id for form.
92 @param formId The id of the form.
93 */
DeleteFormId(int64_t formId)94 void FormUtil::DeleteFormId(int64_t formId)
95 {
96 std::lock_guard<std::mutex> lock(s_memFormIdsMutex);
97 s_memFormIds.erase(static_cast<uint64_t>(formId));
98 }
99
100 /**
101 * @brief padding form id.
102 * @param formId The id of the form.
103 * @param udidHash udid hash
104 * @return new form id.
105 */
PaddingUdidHash(uint64_t formId,uint64_t udidHash)106 int64_t FormUtil::PaddingUdidHash(uint64_t formId, uint64_t udidHash)
107 {
108 // Compatible with int form id.
109 if ((formId & 0xffffffff00000000L) == 0) {
110 return udidHash | formId;
111 }
112
113 return formId;
114 }
115 /**
116 * @brief create udid hash.
117 * @param udidHash udid hash.
118 * @return Returns true on success, false on failure.
119 */
GenerateUdidHash(int64_t & udidHash)120 bool FormUtil::GenerateUdidHash(int64_t &udidHash)
121 {
122 HILOG_INFO("udidHash:%{private}s", std::to_string(udidHash).c_str());
123 if (udidHash != INVALID_UDID_HASH) {
124 return true;
125 }
126
127 u_int64_t hashId = 0L;
128 const int32_t thirtyTwo = 32;
129 udidHash = (hashId & 0x0000000000ffffffL) << thirtyTwo;
130 if (udidHash < 0) {
131 udidHash = 0L;
132 }
133 HILOG_INFO("generate hash %{private}s", std::to_string(udidHash).c_str());
134 return true;
135 }
136 /**
137 * @brief Get current system nanosecond.
138 * @return Current system nanosecond.
139 */
GetCurrentNanosecond()140 int64_t FormUtil::GetCurrentNanosecond()
141 {
142 struct timespec ts;
143 ts.tv_sec = 0;
144 ts.tv_nsec = 0;
145 clock_gettime(CLOCK_MONOTONIC, &ts);
146 return (ts.tv_sec * SEC_TO_NANOSEC + ts.tv_nsec);
147 }
148 /**
149 * @brief Get current system millisecond.
150 * @return Current system millisecond.
151 */
GetCurrentMillisecond()152 int64_t FormUtil::GetCurrentMillisecond()
153 {
154 struct timespec ts;
155 clock_gettime(CLOCK_REALTIME, &ts);
156 return (ts.tv_sec * SEC_TO_MILLISEC + ts.tv_nsec / MILLISEC_TO_NANOSEC);
157 }
158
GetCurrentSteadyClockMillseconds()159 int64_t FormUtil::GetCurrentSteadyClockMillseconds()
160 {
161 return std::chrono::duration_cast<std::chrono::milliseconds>(
162 std::chrono::steady_clock::now().time_since_epoch()).count();
163 }
164
GetNowMillisecond()165 int64_t FormUtil::GetNowMillisecond()
166 {
167 system_clock::time_point pointTime = system_clock::now();
168 auto timeMilliseconds = chrono::duration_cast<chrono::milliseconds>(pointTime.time_since_epoch());
169 return timeMilliseconds.count();
170 }
171
172 /**
173 * @brief Get millisecond from tm.
174 * @param tmAtTime tm time.
175 * @return Millisecond.
176 */
GetMillisecondFromTm(struct tm & tmAtTime)177 int64_t FormUtil::GetMillisecondFromTm(struct tm &tmAtTime)
178 {
179 time_t inputTime = mktime(&tmAtTime);
180 if (inputTime == -1) {
181 HILOG_ERROR("mktime failed");
182 return -1;
183 }
184 system_clock::time_point pointTime = system_clock::from_time_t(inputTime);
185 auto timeMilliseconds = chrono::duration_cast<chrono::milliseconds>(pointTime.time_since_epoch());
186 return timeMilliseconds.count();
187 }
188
189 /**
190 * @brief split string.
191 * @param in string.
192 * @param delim delimiter.
193 * @return string list.
194 */
StringSplit(const std::string & in,const std::string & delim)195 std::vector<std::string> FormUtil::StringSplit(const std::string &in, const std::string &delim)
196 {
197 std::regex reg { delim };
198 return std::vector<std::string> {
199 std::sregex_token_iterator(in.begin(), in.end(), reg, -1),
200 std::sregex_token_iterator()
201 };
202 }
203
TestFormId1(int & formId)204 int FormUtil::TestFormId1(int &formId)
205 {
206 switch (formId) {
207 case int(TestFormNum::Num1): return formId;
208 case int(TestFormNum::Num2): return formId;
209 case int(TestFormNum::Num3): return formId;
210 case int(TestFormNum::Num4): return formId;
211 case int(TestFormNum::Num5): return formId;
212 case int(TestFormNum::Num6): return formId;
213 case int(TestFormNum::Num7): return formId;
214 case int(TestFormNum::Num8): return formId;
215 case int(TestFormNum::Num9): return formId;
216 case int(TestFormNum::Num10): return formId;
217 case int(TestFormNum::Num11): return formId;
218 case int(TestFormNum::Num12): return formId;
219 case int(TestFormNum::Num13): return formId;
220 case int(TestFormNum::Num14): return formId;
221 case int(TestFormNum::Num15): return formId;
222 case int(TestFormNum::Num16): return formId;
223 case int(TestFormNum::Num17): return formId;
224 case int(TestFormNum::Num18): return formId;
225 case int(TestFormNum::Num19): return formId;
226 case int(TestFormNum::Num20): return formId;
227 case int(TestFormNum::Num21): return formId;
228 case int(TestFormNum::Num22): return formId;
229 case int(TestFormNum::Num23): return formId;
230 case int(TestFormNum::Num24): return formId;
231 case int(TestFormNum::Num25): return formId;
232 case int(TestFormNum::Num26): return formId;
233 case int(TestFormNum::Num27): return formId;
234 case int(TestFormNum::Num28): return formId;
235 case int(TestFormNum::Num29): return formId;
236 case int(TestFormNum::Num30): return formId;
237 case int(TestFormNum::Num31): return formId;
238 case int(TestFormNum::Num32): return formId;
239 case int(TestFormNum::Num33): return formId;
240 case int(TestFormNum::Num34): return formId;
241 case int(TestFormNum::Num35): return formId;
242 case int(TestFormNum::Num36): return formId;
243 case int(TestFormNum::Num37): return formId;
244 case int(TestFormNum::Num38): return formId;
245 case int(TestFormNum::Num39): return formId;
246 case int(TestFormNum::Num40): return formId;
247 default: return formId;
248 }
249 }
250
TestFormId2(int & formId)251 int FormUtil::TestFormId2(int &formId)
252 {
253 switch (formId) {
254 case int(TestFormNum::Num1): return formId;
255 case int(TestFormNum::Num2): return formId;
256 case int(TestFormNum::Num3): return formId;
257 case int(TestFormNum::Num4): return formId;
258 case int(TestFormNum::Num5): return formId;
259 case int(TestFormNum::Num6): return formId;
260 case int(TestFormNum::Num7): return formId;
261 case int(TestFormNum::Num8): return formId;
262 case int(TestFormNum::Num9): return formId;
263 case int(TestFormNum::Num10): return formId;
264 case int(TestFormNum::Num11): return formId;
265 case int(TestFormNum::Num12): return formId;
266 case int(TestFormNum::Num13): return formId;
267 case int(TestFormNum::Num14): return formId;
268 case int(TestFormNum::Num15): return formId;
269 case int(TestFormNum::Num16): return formId;
270 case int(TestFormNum::Num17): return formId;
271 case int(TestFormNum::Num18): return formId;
272 case int(TestFormNum::Num19): return formId;
273 case int(TestFormNum::Num20): return formId;
274 case int(TestFormNum::Num21): return formId;
275 case int(TestFormNum::Num22): return formId;
276 case int(TestFormNum::Num23): return formId;
277 case int(TestFormNum::Num24): return formId;
278 case int(TestFormNum::Num25): return formId;
279 case int(TestFormNum::Num26): return formId;
280 case int(TestFormNum::Num27): return formId;
281 case int(TestFormNum::Num28): return formId;
282 case int(TestFormNum::Num29): return formId;
283 case int(TestFormNum::Num30): return formId;
284 case int(TestFormNum::Num31): return formId;
285 case int(TestFormNum::Num32): return formId;
286 case int(TestFormNum::Num33): return formId;
287 case int(TestFormNum::Num34): return formId;
288 case int(TestFormNum::Num35): return formId;
289 case int(TestFormNum::Num36): return formId;
290 case int(TestFormNum::Num37): return formId;
291 case int(TestFormNum::Num38): return formId;
292 case int(TestFormNum::Num39): return formId;
293 case int(TestFormNum::Num40): return formId;
294 default: return formId;
295 }
296 }
297
TestFormId3(int & formId)298 int FormUtil::TestFormId3(int &formId)
299 {
300 switch (formId) {
301 case int(TestFormNum::Num1): return formId;
302 case int(TestFormNum::Num2): return formId;
303 case int(TestFormNum::Num3): return formId;
304 case int(TestFormNum::Num4): return formId;
305 case int(TestFormNum::Num5): return formId;
306 case int(TestFormNum::Num6): return formId;
307 case int(TestFormNum::Num7): return formId;
308 case int(TestFormNum::Num8): return formId;
309 case int(TestFormNum::Num9): return formId;
310 case int(TestFormNum::Num10): return formId;
311 case int(TestFormNum::Num11): return formId;
312 case int(TestFormNum::Num12): return formId;
313 case int(TestFormNum::Num13): return formId;
314 case int(TestFormNum::Num14): return formId;
315 case int(TestFormNum::Num15): return formId;
316 case int(TestFormNum::Num16): return formId;
317 case int(TestFormNum::Num17): return formId;
318 case int(TestFormNum::Num18): return formId;
319 case int(TestFormNum::Num19): return formId;
320 case int(TestFormNum::Num20): return formId;
321 case int(TestFormNum::Num21): return formId;
322 case int(TestFormNum::Num22): return formId;
323 case int(TestFormNum::Num23): return formId;
324 case int(TestFormNum::Num24): return formId;
325 case int(TestFormNum::Num25): return formId;
326 case int(TestFormNum::Num26): return formId;
327 case int(TestFormNum::Num27): return formId;
328 case int(TestFormNum::Num28): return formId;
329 case int(TestFormNum::Num29): return formId;
330 case int(TestFormNum::Num30): return formId;
331 case int(TestFormNum::Num31): return formId;
332 case int(TestFormNum::Num32): return formId;
333 case int(TestFormNum::Num33): return formId;
334 case int(TestFormNum::Num34): return formId;
335 case int(TestFormNum::Num35): return formId;
336 case int(TestFormNum::Num36): return formId;
337 case int(TestFormNum::Num37): return formId;
338 case int(TestFormNum::Num38): return formId;
339 case int(TestFormNum::Num39): return formId;
340 case int(TestFormNum::Num40): return formId;
341 default: return formId;
342 }
343 }
344
TestFormId4(int & formId)345 int FormUtil::TestFormId4(int &formId)
346 {
347 switch (formId) {
348 case int(TestFormNum::Num1): return formId;
349 case int(TestFormNum::Num2): return formId;
350 case int(TestFormNum::Num3): return formId;
351 case int(TestFormNum::Num4): return formId;
352 case int(TestFormNum::Num5): return formId;
353 case int(TestFormNum::Num6): return formId;
354 case int(TestFormNum::Num7): return formId;
355 case int(TestFormNum::Num8): return formId;
356 case int(TestFormNum::Num9): return formId;
357 case int(TestFormNum::Num10): return formId;
358 case int(TestFormNum::Num11): return formId;
359 case int(TestFormNum::Num12): return formId;
360 case int(TestFormNum::Num13): return formId;
361 case int(TestFormNum::Num14): return formId;
362 case int(TestFormNum::Num15): return formId;
363 case int(TestFormNum::Num16): return formId;
364 case int(TestFormNum::Num17): return formId;
365 case int(TestFormNum::Num18): return formId;
366 case int(TestFormNum::Num19): return formId;
367 case int(TestFormNum::Num20): return formId;
368 case int(TestFormNum::Num21): return formId;
369 case int(TestFormNum::Num22): return formId;
370 case int(TestFormNum::Num23): return formId;
371 case int(TestFormNum::Num24): return formId;
372 case int(TestFormNum::Num25): return formId;
373 case int(TestFormNum::Num26): return formId;
374 case int(TestFormNum::Num27): return formId;
375 case int(TestFormNum::Num28): return formId;
376 case int(TestFormNum::Num29): return formId;
377 case int(TestFormNum::Num30): return formId;
378 case int(TestFormNum::Num31): return formId;
379 case int(TestFormNum::Num32): return formId;
380 case int(TestFormNum::Num33): return formId;
381 case int(TestFormNum::Num34): return formId;
382 case int(TestFormNum::Num35): return formId;
383 case int(TestFormNum::Num36): return formId;
384 case int(TestFormNum::Num37): return formId;
385 case int(TestFormNum::Num38): return formId;
386 case int(TestFormNum::Num39): return formId;
387 case int(TestFormNum::Num40): return formId;
388 default: return formId;
389 }
390 }
391
TestFormId5(int & formId)392 int FormUtil::TestFormId5(int &formId)
393 {
394 switch (formId) {
395 case int(TestFormNum::Num1): return formId;
396 case int(TestFormNum::Num2): return formId;
397 case int(TestFormNum::Num3): return formId;
398 case int(TestFormNum::Num4): return formId;
399 case int(TestFormNum::Num5): return formId;
400 case int(TestFormNum::Num6): return formId;
401 case int(TestFormNum::Num7): return formId;
402 case int(TestFormNum::Num8): return formId;
403 case int(TestFormNum::Num9): return formId;
404 case int(TestFormNum::Num10): return formId;
405 case int(TestFormNum::Num11): return formId;
406 case int(TestFormNum::Num12): return formId;
407 case int(TestFormNum::Num13): return formId;
408 case int(TestFormNum::Num14): return formId;
409 case int(TestFormNum::Num15): return formId;
410 case int(TestFormNum::Num16): return formId;
411 case int(TestFormNum::Num17): return formId;
412 case int(TestFormNum::Num18): return formId;
413 case int(TestFormNum::Num19): return formId;
414 case int(TestFormNum::Num20): return formId;
415 case int(TestFormNum::Num21): return formId;
416 case int(TestFormNum::Num22): return formId;
417 case int(TestFormNum::Num23): return formId;
418 case int(TestFormNum::Num24): return formId;
419 case int(TestFormNum::Num25): return formId;
420 case int(TestFormNum::Num26): return formId;
421 case int(TestFormNum::Num27): return formId;
422 case int(TestFormNum::Num28): return formId;
423 case int(TestFormNum::Num29): return formId;
424 case int(TestFormNum::Num30): return formId;
425 case int(TestFormNum::Num31): return formId;
426 case int(TestFormNum::Num32): return formId;
427 case int(TestFormNum::Num33): return formId;
428 case int(TestFormNum::Num34): return formId;
429 case int(TestFormNum::Num35): return formId;
430 case int(TestFormNum::Num36): return formId;
431 case int(TestFormNum::Num37): return formId;
432 case int(TestFormNum::Num38): return formId;
433 case int(TestFormNum::Num39): return formId;
434 case int(TestFormNum::Num40): return formId;
435 default: return formId;
436 }
437 }
438
TestFormId6(int & formId)439 int FormUtil::TestFormId6(int &formId)
440 {
441 switch (formId) {
442 case int(TestFormNum::Num1): return formId;
443 case int(TestFormNum::Num2): return formId;
444 case int(TestFormNum::Num3): return formId;
445 case int(TestFormNum::Num4): return formId;
446 case int(TestFormNum::Num5): return formId;
447 case int(TestFormNum::Num6): return formId;
448 case int(TestFormNum::Num7): return formId;
449 case int(TestFormNum::Num8): return formId;
450 case int(TestFormNum::Num9): return formId;
451 case int(TestFormNum::Num10): return formId;
452 case int(TestFormNum::Num11): return formId;
453 case int(TestFormNum::Num12): return formId;
454 case int(TestFormNum::Num13): return formId;
455 case int(TestFormNum::Num14): return formId;
456 case int(TestFormNum::Num15): return formId;
457 case int(TestFormNum::Num16): return formId;
458 case int(TestFormNum::Num17): return formId;
459 case int(TestFormNum::Num18): return formId;
460 case int(TestFormNum::Num19): return formId;
461 case int(TestFormNum::Num20): return formId;
462 case int(TestFormNum::Num21): return formId;
463 case int(TestFormNum::Num22): return formId;
464 case int(TestFormNum::Num23): return formId;
465 case int(TestFormNum::Num24): return formId;
466 case int(TestFormNum::Num25): return formId;
467 case int(TestFormNum::Num26): return formId;
468 case int(TestFormNum::Num27): return formId;
469 case int(TestFormNum::Num28): return formId;
470 case int(TestFormNum::Num29): return formId;
471 case int(TestFormNum::Num30): return formId;
472 case int(TestFormNum::Num31): return formId;
473 case int(TestFormNum::Num32): return formId;
474 case int(TestFormNum::Num33): return formId;
475 case int(TestFormNum::Num34): return formId;
476 case int(TestFormNum::Num35): return formId;
477 case int(TestFormNum::Num36): return formId;
478 case int(TestFormNum::Num37): return formId;
479 case int(TestFormNum::Num38): return formId;
480 case int(TestFormNum::Num39): return formId;
481 case int(TestFormNum::Num40): return formId;
482 default: return formId;
483 }
484 }
485
TestFormId7(int & formId)486 int FormUtil::TestFormId7(int &formId)
487 {
488 switch (formId) {
489 case int(TestFormNum::Num1): return formId;
490 case int(TestFormNum::Num2): return formId;
491 case int(TestFormNum::Num3): return formId;
492 case int(TestFormNum::Num4): return formId;
493 case int(TestFormNum::Num5): return formId;
494 case int(TestFormNum::Num6): return formId;
495 case int(TestFormNum::Num7): return formId;
496 case int(TestFormNum::Num8): return formId;
497 case int(TestFormNum::Num9): return formId;
498 case int(TestFormNum::Num10): return formId;
499 case int(TestFormNum::Num11): return formId;
500 case int(TestFormNum::Num12): return formId;
501 case int(TestFormNum::Num13): return formId;
502 case int(TestFormNum::Num14): return formId;
503 case int(TestFormNum::Num15): return formId;
504 case int(TestFormNum::Num16): return formId;
505 case int(TestFormNum::Num17): return formId;
506 case int(TestFormNum::Num18): return formId;
507 case int(TestFormNum::Num19): return formId;
508 case int(TestFormNum::Num20): return formId;
509 case int(TestFormNum::Num21): return formId;
510 case int(TestFormNum::Num22): return formId;
511 case int(TestFormNum::Num23): return formId;
512 case int(TestFormNum::Num24): return formId;
513 case int(TestFormNum::Num25): return formId;
514 case int(TestFormNum::Num26): return formId;
515 case int(TestFormNum::Num27): return formId;
516 case int(TestFormNum::Num28): return formId;
517 case int(TestFormNum::Num29): return formId;
518 case int(TestFormNum::Num30): return formId;
519 case int(TestFormNum::Num31): return formId;
520 case int(TestFormNum::Num32): return formId;
521 case int(TestFormNum::Num33): return formId;
522 case int(TestFormNum::Num34): return formId;
523 case int(TestFormNum::Num35): return formId;
524 case int(TestFormNum::Num36): return formId;
525 case int(TestFormNum::Num37): return formId;
526 case int(TestFormNum::Num38): return formId;
527 case int(TestFormNum::Num39): return formId;
528 case int(TestFormNum::Num40): return formId;
529 default: return formId;
530 }
531 }
532
TestFormId8(int & formId)533 int FormUtil::TestFormId8(int &formId)
534 {
535 switch (formId) {
536 case int(TestFormNum::Num1): return formId;
537 case int(TestFormNum::Num2): return formId;
538 case int(TestFormNum::Num3): return formId;
539 case int(TestFormNum::Num4): return formId;
540 case int(TestFormNum::Num5): return formId;
541 case int(TestFormNum::Num6): return formId;
542 case int(TestFormNum::Num7): return formId;
543 case int(TestFormNum::Num8): return formId;
544 case int(TestFormNum::Num9): return formId;
545 case int(TestFormNum::Num10): return formId;
546 case int(TestFormNum::Num11): return formId;
547 case int(TestFormNum::Num12): return formId;
548 case int(TestFormNum::Num13): return formId;
549 case int(TestFormNum::Num14): return formId;
550 case int(TestFormNum::Num15): return formId;
551 case int(TestFormNum::Num16): return formId;
552 case int(TestFormNum::Num17): return formId;
553 case int(TestFormNum::Num18): return formId;
554 case int(TestFormNum::Num19): return formId;
555 case int(TestFormNum::Num20): return formId;
556 case int(TestFormNum::Num21): return formId;
557 case int(TestFormNum::Num22): return formId;
558 case int(TestFormNum::Num23): return formId;
559 case int(TestFormNum::Num24): return formId;
560 case int(TestFormNum::Num25): return formId;
561 case int(TestFormNum::Num26): return formId;
562 case int(TestFormNum::Num27): return formId;
563 case int(TestFormNum::Num28): return formId;
564 case int(TestFormNum::Num29): return formId;
565 case int(TestFormNum::Num30): return formId;
566 case int(TestFormNum::Num31): return formId;
567 case int(TestFormNum::Num32): return formId;
568 case int(TestFormNum::Num33): return formId;
569 case int(TestFormNum::Num34): return formId;
570 case int(TestFormNum::Num35): return formId;
571 case int(TestFormNum::Num36): return formId;
572 case int(TestFormNum::Num37): return formId;
573 case int(TestFormNum::Num38): return formId;
574 case int(TestFormNum::Num39): return formId;
575 case int(TestFormNum::Num40): return formId;
576 default: return formId;
577 }
578 }
579
TestFormId9(int & formId)580 int FormUtil::TestFormId9(int &formId)
581 {
582 switch (formId) {
583 case int(TestFormNum::Num1): return formId;
584 case int(TestFormNum::Num2): return formId;
585 case int(TestFormNum::Num3): return formId;
586 case int(TestFormNum::Num4): return formId;
587 case int(TestFormNum::Num5): return formId;
588 case int(TestFormNum::Num6): return formId;
589 case int(TestFormNum::Num7): return formId;
590 case int(TestFormNum::Num8): return formId;
591 case int(TestFormNum::Num9): return formId;
592 case int(TestFormNum::Num10): return formId;
593 case int(TestFormNum::Num11): return formId;
594 case int(TestFormNum::Num12): return formId;
595 case int(TestFormNum::Num13): return formId;
596 case int(TestFormNum::Num14): return formId;
597 case int(TestFormNum::Num15): return formId;
598 case int(TestFormNum::Num16): return formId;
599 case int(TestFormNum::Num17): return formId;
600 case int(TestFormNum::Num18): return formId;
601 case int(TestFormNum::Num19): return formId;
602 case int(TestFormNum::Num20): return formId;
603 case int(TestFormNum::Num21): return formId;
604 case int(TestFormNum::Num22): return formId;
605 case int(TestFormNum::Num23): return formId;
606 case int(TestFormNum::Num24): return formId;
607 case int(TestFormNum::Num25): return formId;
608 case int(TestFormNum::Num26): return formId;
609 case int(TestFormNum::Num27): return formId;
610 case int(TestFormNum::Num28): return formId;
611 case int(TestFormNum::Num29): return formId;
612 case int(TestFormNum::Num30): return formId;
613 case int(TestFormNum::Num31): return formId;
614 case int(TestFormNum::Num32): return formId;
615 case int(TestFormNum::Num33): return formId;
616 case int(TestFormNum::Num34): return formId;
617 case int(TestFormNum::Num35): return formId;
618 case int(TestFormNum::Num36): return formId;
619 case int(TestFormNum::Num37): return formId;
620 case int(TestFormNum::Num38): return formId;
621 case int(TestFormNum::Num39): return formId;
622 case int(TestFormNum::Num40): return formId;
623 default: return formId;
624 }
625 }
626
TestFormId10(int & formId)627 int FormUtil::TestFormId10(int &formId)
628 {
629 switch (formId) {
630 case int(TestFormNum::Num1): return formId;
631 case int(TestFormNum::Num2): return formId;
632 case int(TestFormNum::Num3): return formId;
633 case int(TestFormNum::Num4): return formId;
634 case int(TestFormNum::Num5): return formId;
635 case int(TestFormNum::Num6): return formId;
636 case int(TestFormNum::Num7): return formId;
637 case int(TestFormNum::Num8): return formId;
638 case int(TestFormNum::Num9): return formId;
639 case int(TestFormNum::Num10): return formId;
640 case int(TestFormNum::Num11): return formId;
641 case int(TestFormNum::Num12): return formId;
642 case int(TestFormNum::Num13): return formId;
643 case int(TestFormNum::Num14): return formId;
644 case int(TestFormNum::Num15): return formId;
645 case int(TestFormNum::Num16): return formId;
646 case int(TestFormNum::Num17): return formId;
647 case int(TestFormNum::Num18): return formId;
648 case int(TestFormNum::Num19): return formId;
649 case int(TestFormNum::Num20): return formId;
650 case int(TestFormNum::Num21): return formId;
651 case int(TestFormNum::Num22): return formId;
652 case int(TestFormNum::Num23): return formId;
653 case int(TestFormNum::Num24): return formId;
654 case int(TestFormNum::Num25): return formId;
655 case int(TestFormNum::Num26): return formId;
656 case int(TestFormNum::Num27): return formId;
657 case int(TestFormNum::Num28): return formId;
658 case int(TestFormNum::Num29): return formId;
659 case int(TestFormNum::Num30): return formId;
660 case int(TestFormNum::Num31): return formId;
661 case int(TestFormNum::Num32): return formId;
662 case int(TestFormNum::Num33): return formId;
663 case int(TestFormNum::Num34): return formId;
664 case int(TestFormNum::Num35): return formId;
665 case int(TestFormNum::Num36): return formId;
666 case int(TestFormNum::Num37): return formId;
667 case int(TestFormNum::Num38): return formId;
668 case int(TestFormNum::Num39): return formId;
669 case int(TestFormNum::Num40): return formId;
670 default: return formId;
671 }
672 }
673
TestFormId11(int & formId)674 int FormUtil::TestFormId11(int &formId)
675 {
676 switch (formId) {
677 case int(TestFormNum::Num1): return formId;
678 case int(TestFormNum::Num2): return formId;
679 case int(TestFormNum::Num3): return formId;
680 case int(TestFormNum::Num4): return formId;
681 case int(TestFormNum::Num5): return formId;
682 case int(TestFormNum::Num6): return formId;
683 case int(TestFormNum::Num7): return formId;
684 case int(TestFormNum::Num8): return formId;
685 case int(TestFormNum::Num9): return formId;
686 case int(TestFormNum::Num10): return formId;
687 case int(TestFormNum::Num11): return formId;
688 case int(TestFormNum::Num12): return formId;
689 case int(TestFormNum::Num13): return formId;
690 case int(TestFormNum::Num14): return formId;
691 case int(TestFormNum::Num15): return formId;
692 case int(TestFormNum::Num16): return formId;
693 case int(TestFormNum::Num17): return formId;
694 case int(TestFormNum::Num18): return formId;
695 case int(TestFormNum::Num19): return formId;
696 case int(TestFormNum::Num20): return formId;
697 case int(TestFormNum::Num21): return formId;
698 case int(TestFormNum::Num22): return formId;
699 case int(TestFormNum::Num23): return formId;
700 case int(TestFormNum::Num24): return formId;
701 case int(TestFormNum::Num25): return formId;
702 case int(TestFormNum::Num26): return formId;
703 case int(TestFormNum::Num27): return formId;
704 case int(TestFormNum::Num28): return formId;
705 case int(TestFormNum::Num29): return formId;
706 case int(TestFormNum::Num30): return formId;
707 case int(TestFormNum::Num31): return formId;
708 case int(TestFormNum::Num32): return formId;
709 case int(TestFormNum::Num33): return formId;
710 case int(TestFormNum::Num34): return formId;
711 case int(TestFormNum::Num35): return formId;
712 case int(TestFormNum::Num36): return formId;
713 case int(TestFormNum::Num37): return formId;
714 case int(TestFormNum::Num38): return formId;
715 case int(TestFormNum::Num39): return formId;
716 case int(TestFormNum::Num40): return formId;
717 default: return formId;
718 }
719 }
720
TestFormId12(int & formId)721 int FormUtil::TestFormId12(int &formId)
722 {
723 switch (formId) {
724 case int(TestFormNum::Num1): return formId;
725 case int(TestFormNum::Num2): return formId;
726 case int(TestFormNum::Num3): return formId;
727 case int(TestFormNum::Num4): return formId;
728 case int(TestFormNum::Num5): return formId;
729 case int(TestFormNum::Num6): return formId;
730 case int(TestFormNum::Num7): return formId;
731 case int(TestFormNum::Num8): return formId;
732 case int(TestFormNum::Num9): return formId;
733 case int(TestFormNum::Num10): return formId;
734 case int(TestFormNum::Num11): return formId;
735 case int(TestFormNum::Num12): return formId;
736 case int(TestFormNum::Num13): return formId;
737 case int(TestFormNum::Num14): return formId;
738 case int(TestFormNum::Num15): return formId;
739 case int(TestFormNum::Num16): return formId;
740 case int(TestFormNum::Num17): return formId;
741 case int(TestFormNum::Num18): return formId;
742 case int(TestFormNum::Num19): return formId;
743 case int(TestFormNum::Num20): return formId;
744 case int(TestFormNum::Num21): return formId;
745 case int(TestFormNum::Num22): return formId;
746 case int(TestFormNum::Num23): return formId;
747 case int(TestFormNum::Num24): return formId;
748 case int(TestFormNum::Num25): return formId;
749 case int(TestFormNum::Num26): return formId;
750 case int(TestFormNum::Num27): return formId;
751 case int(TestFormNum::Num28): return formId;
752 case int(TestFormNum::Num29): return formId;
753 case int(TestFormNum::Num30): return formId;
754 case int(TestFormNum::Num31): return formId;
755 case int(TestFormNum::Num32): return formId;
756 case int(TestFormNum::Num33): return formId;
757 case int(TestFormNum::Num34): return formId;
758 case int(TestFormNum::Num35): return formId;
759 case int(TestFormNum::Num36): return formId;
760 case int(TestFormNum::Num37): return formId;
761 case int(TestFormNum::Num38): return formId;
762 case int(TestFormNum::Num39): return formId;
763 case int(TestFormNum::Num40): return formId;
764 default: return formId;
765 }
766 }
767
TestFormId13(int & formId)768 int FormUtil::TestFormId13(int &formId)
769 {
770 switch (formId) {
771 case int(TestFormNum::Num1): return formId;
772 case int(TestFormNum::Num2): return formId;
773 case int(TestFormNum::Num3): return formId;
774 case int(TestFormNum::Num4): return formId;
775 case int(TestFormNum::Num5): return formId;
776 case int(TestFormNum::Num6): return formId;
777 case int(TestFormNum::Num7): return formId;
778 case int(TestFormNum::Num8): return formId;
779 case int(TestFormNum::Num9): return formId;
780 case int(TestFormNum::Num10): return formId;
781 case int(TestFormNum::Num11): return formId;
782 case int(TestFormNum::Num12): return formId;
783 case int(TestFormNum::Num13): return formId;
784 case int(TestFormNum::Num14): return formId;
785 case int(TestFormNum::Num15): return formId;
786 case int(TestFormNum::Num16): return formId;
787 case int(TestFormNum::Num17): return formId;
788 case int(TestFormNum::Num18): return formId;
789 case int(TestFormNum::Num19): return formId;
790 case int(TestFormNum::Num20): return formId;
791 case int(TestFormNum::Num21): return formId;
792 case int(TestFormNum::Num22): return formId;
793 case int(TestFormNum::Num23): return formId;
794 case int(TestFormNum::Num24): return formId;
795 case int(TestFormNum::Num25): return formId;
796 case int(TestFormNum::Num26): return formId;
797 case int(TestFormNum::Num27): return formId;
798 case int(TestFormNum::Num28): return formId;
799 case int(TestFormNum::Num29): return formId;
800 case int(TestFormNum::Num30): return formId;
801 case int(TestFormNum::Num31): return formId;
802 case int(TestFormNum::Num32): return formId;
803 case int(TestFormNum::Num33): return formId;
804 case int(TestFormNum::Num34): return formId;
805 case int(TestFormNum::Num35): return formId;
806 case int(TestFormNum::Num36): return formId;
807 case int(TestFormNum::Num37): return formId;
808 case int(TestFormNum::Num38): return formId;
809 case int(TestFormNum::Num39): return formId;
810 case int(TestFormNum::Num40): return formId;
811 default: return formId;
812 }
813 }
814
TestFormId14(int & formId)815 int FormUtil::TestFormId14(int &formId)
816 {
817 switch (formId) {
818 case int(TestFormNum::Num1): return formId;
819 case int(TestFormNum::Num2): return formId;
820 case int(TestFormNum::Num3): return formId;
821 case int(TestFormNum::Num4): return formId;
822 case int(TestFormNum::Num5): return formId;
823 case int(TestFormNum::Num6): return formId;
824 case int(TestFormNum::Num7): return formId;
825 case int(TestFormNum::Num8): return formId;
826 case int(TestFormNum::Num9): return formId;
827 case int(TestFormNum::Num10): return formId;
828 case int(TestFormNum::Num11): return formId;
829 case int(TestFormNum::Num12): return formId;
830 case int(TestFormNum::Num13): return formId;
831 case int(TestFormNum::Num14): return formId;
832 case int(TestFormNum::Num15): return formId;
833 case int(TestFormNum::Num16): return formId;
834 case int(TestFormNum::Num17): return formId;
835 case int(TestFormNum::Num18): return formId;
836 case int(TestFormNum::Num19): return formId;
837 case int(TestFormNum::Num20): return formId;
838 case int(TestFormNum::Num21): return formId;
839 case int(TestFormNum::Num22): return formId;
840 case int(TestFormNum::Num23): return formId;
841 case int(TestFormNum::Num24): return formId;
842 case int(TestFormNum::Num25): return formId;
843 case int(TestFormNum::Num26): return formId;
844 case int(TestFormNum::Num27): return formId;
845 case int(TestFormNum::Num28): return formId;
846 case int(TestFormNum::Num29): return formId;
847 case int(TestFormNum::Num30): return formId;
848 case int(TestFormNum::Num31): return formId;
849 case int(TestFormNum::Num32): return formId;
850 case int(TestFormNum::Num33): return formId;
851 case int(TestFormNum::Num34): return formId;
852 case int(TestFormNum::Num35): return formId;
853 case int(TestFormNum::Num36): return formId;
854 case int(TestFormNum::Num37): return formId;
855 case int(TestFormNum::Num38): return formId;
856 case int(TestFormNum::Num39): return formId;
857 case int(TestFormNum::Num40): return formId;
858 default: return formId;
859 }
860 }
861
TestFormId15(int & formId)862 int FormUtil::TestFormId15(int &formId)
863 {
864 switch (formId) {
865 case int(TestFormNum::Num1): return formId;
866 case int(TestFormNum::Num2): return formId;
867 case int(TestFormNum::Num3): return formId;
868 case int(TestFormNum::Num4): return formId;
869 case int(TestFormNum::Num5): return formId;
870 case int(TestFormNum::Num6): return formId;
871 case int(TestFormNum::Num7): return formId;
872 case int(TestFormNum::Num8): return formId;
873 case int(TestFormNum::Num9): return formId;
874 case int(TestFormNum::Num10): return formId;
875 case int(TestFormNum::Num11): return formId;
876 case int(TestFormNum::Num12): return formId;
877 case int(TestFormNum::Num13): return formId;
878 case int(TestFormNum::Num14): return formId;
879 case int(TestFormNum::Num15): return formId;
880 case int(TestFormNum::Num16): return formId;
881 case int(TestFormNum::Num17): return formId;
882 case int(TestFormNum::Num18): return formId;
883 case int(TestFormNum::Num19): return formId;
884 case int(TestFormNum::Num20): return formId;
885 case int(TestFormNum::Num21): return formId;
886 case int(TestFormNum::Num22): return formId;
887 case int(TestFormNum::Num23): return formId;
888 case int(TestFormNum::Num24): return formId;
889 case int(TestFormNum::Num25): return formId;
890 case int(TestFormNum::Num26): return formId;
891 case int(TestFormNum::Num27): return formId;
892 case int(TestFormNum::Num28): return formId;
893 case int(TestFormNum::Num29): return formId;
894 case int(TestFormNum::Num30): return formId;
895 case int(TestFormNum::Num31): return formId;
896 case int(TestFormNum::Num32): return formId;
897 case int(TestFormNum::Num33): return formId;
898 case int(TestFormNum::Num34): return formId;
899 case int(TestFormNum::Num35): return formId;
900 case int(TestFormNum::Num36): return formId;
901 case int(TestFormNum::Num37): return formId;
902 case int(TestFormNum::Num38): return formId;
903 case int(TestFormNum::Num39): return formId;
904 case int(TestFormNum::Num40): return formId;
905 default: return formId;
906 }
907 }
908
TestFormId16(int & formId)909 int FormUtil::TestFormId16(int &formId)
910 {
911 switch (formId) {
912 case int(TestFormNum::Num1): return formId;
913 case int(TestFormNum::Num2): return formId;
914 case int(TestFormNum::Num3): return formId;
915 case int(TestFormNum::Num4): return formId;
916 case int(TestFormNum::Num5): return formId;
917 case int(TestFormNum::Num6): return formId;
918 case int(TestFormNum::Num7): return formId;
919 case int(TestFormNum::Num8): return formId;
920 case int(TestFormNum::Num9): return formId;
921 case int(TestFormNum::Num10): return formId;
922 case int(TestFormNum::Num11): return formId;
923 case int(TestFormNum::Num12): return formId;
924 case int(TestFormNum::Num13): return formId;
925 case int(TestFormNum::Num14): return formId;
926 case int(TestFormNum::Num15): return formId;
927 case int(TestFormNum::Num16): return formId;
928 case int(TestFormNum::Num17): return formId;
929 case int(TestFormNum::Num18): return formId;
930 case int(TestFormNum::Num19): return formId;
931 case int(TestFormNum::Num20): return formId;
932 case int(TestFormNum::Num21): return formId;
933 case int(TestFormNum::Num22): return formId;
934 case int(TestFormNum::Num23): return formId;
935 case int(TestFormNum::Num24): return formId;
936 case int(TestFormNum::Num25): return formId;
937 case int(TestFormNum::Num26): return formId;
938 case int(TestFormNum::Num27): return formId;
939 case int(TestFormNum::Num28): return formId;
940 case int(TestFormNum::Num29): return formId;
941 case int(TestFormNum::Num30): return formId;
942 case int(TestFormNum::Num31): return formId;
943 case int(TestFormNum::Num32): return formId;
944 case int(TestFormNum::Num33): return formId;
945 case int(TestFormNum::Num34): return formId;
946 case int(TestFormNum::Num35): return formId;
947 case int(TestFormNum::Num36): return formId;
948 case int(TestFormNum::Num37): return formId;
949 case int(TestFormNum::Num38): return formId;
950 case int(TestFormNum::Num39): return formId;
951 case int(TestFormNum::Num40): return formId;
952 default: return formId;
953 }
954 }
955
TestFormId17(int & formId)956 int FormUtil::TestFormId17(int &formId)
957 {
958 switch (formId) {
959 case int(TestFormNum::Num1): return formId;
960 case int(TestFormNum::Num2): return formId;
961 case int(TestFormNum::Num3): return formId;
962 case int(TestFormNum::Num4): return formId;
963 case int(TestFormNum::Num5): return formId;
964 case int(TestFormNum::Num6): return formId;
965 case int(TestFormNum::Num7): return formId;
966 case int(TestFormNum::Num8): return formId;
967 case int(TestFormNum::Num9): return formId;
968 case int(TestFormNum::Num10): return formId;
969 case int(TestFormNum::Num11): return formId;
970 case int(TestFormNum::Num12): return formId;
971 case int(TestFormNum::Num13): return formId;
972 case int(TestFormNum::Num14): return formId;
973 case int(TestFormNum::Num15): return formId;
974 case int(TestFormNum::Num16): return formId;
975 case int(TestFormNum::Num17): return formId;
976 case int(TestFormNum::Num18): return formId;
977 case int(TestFormNum::Num19): return formId;
978 case int(TestFormNum::Num20): return formId;
979 case int(TestFormNum::Num21): return formId;
980 case int(TestFormNum::Num22): return formId;
981 case int(TestFormNum::Num23): return formId;
982 case int(TestFormNum::Num24): return formId;
983 case int(TestFormNum::Num25): return formId;
984 case int(TestFormNum::Num26): return formId;
985 case int(TestFormNum::Num27): return formId;
986 case int(TestFormNum::Num28): return formId;
987 case int(TestFormNum::Num29): return formId;
988 case int(TestFormNum::Num30): return formId;
989 case int(TestFormNum::Num31): return formId;
990 case int(TestFormNum::Num32): return formId;
991 case int(TestFormNum::Num33): return formId;
992 case int(TestFormNum::Num34): return formId;
993 case int(TestFormNum::Num35): return formId;
994 case int(TestFormNum::Num36): return formId;
995 case int(TestFormNum::Num37): return formId;
996 case int(TestFormNum::Num38): return formId;
997 case int(TestFormNum::Num39): return formId;
998 case int(TestFormNum::Num40): return formId;
999 default: return formId;
1000 }
1001 }
1002
TestFormId18(int & formId)1003 int FormUtil::TestFormId18(int &formId)
1004 {
1005 switch (formId) {
1006 case int(TestFormNum::Num1): return formId;
1007 case int(TestFormNum::Num2): return formId;
1008 case int(TestFormNum::Num3): return formId;
1009 case int(TestFormNum::Num4): return formId;
1010 case int(TestFormNum::Num5): return formId;
1011 case int(TestFormNum::Num6): return formId;
1012 case int(TestFormNum::Num7): return formId;
1013 case int(TestFormNum::Num8): return formId;
1014 case int(TestFormNum::Num9): return formId;
1015 case int(TestFormNum::Num10): return formId;
1016 case int(TestFormNum::Num11): return formId;
1017 case int(TestFormNum::Num12): return formId;
1018 case int(TestFormNum::Num13): return formId;
1019 case int(TestFormNum::Num14): return formId;
1020 case int(TestFormNum::Num15): return formId;
1021 case int(TestFormNum::Num16): return formId;
1022 case int(TestFormNum::Num17): return formId;
1023 case int(TestFormNum::Num18): return formId;
1024 case int(TestFormNum::Num19): return formId;
1025 case int(TestFormNum::Num20): return formId;
1026 case int(TestFormNum::Num21): return formId;
1027 case int(TestFormNum::Num22): return formId;
1028 case int(TestFormNum::Num23): return formId;
1029 case int(TestFormNum::Num24): return formId;
1030 case int(TestFormNum::Num25): return formId;
1031 case int(TestFormNum::Num26): return formId;
1032 case int(TestFormNum::Num27): return formId;
1033 case int(TestFormNum::Num28): return formId;
1034 case int(TestFormNum::Num29): return formId;
1035 case int(TestFormNum::Num30): return formId;
1036 case int(TestFormNum::Num31): return formId;
1037 case int(TestFormNum::Num32): return formId;
1038 case int(TestFormNum::Num33): return formId;
1039 case int(TestFormNum::Num34): return formId;
1040 case int(TestFormNum::Num35): return formId;
1041 case int(TestFormNum::Num36): return formId;
1042 case int(TestFormNum::Num37): return formId;
1043 case int(TestFormNum::Num38): return formId;
1044 case int(TestFormNum::Num39): return formId;
1045 case int(TestFormNum::Num40): return formId;
1046 default: return formId;
1047 }
1048 }
1049
TestFormId19(int & formId)1050 int FormUtil::TestFormId19(int &formId)
1051 {
1052 switch (formId) {
1053 case int(TestFormNum::Num1): return formId;
1054 case int(TestFormNum::Num2): return formId;
1055 case int(TestFormNum::Num3): return formId;
1056 case int(TestFormNum::Num4): return formId;
1057 case int(TestFormNum::Num5): return formId;
1058 case int(TestFormNum::Num6): return formId;
1059 case int(TestFormNum::Num7): return formId;
1060 case int(TestFormNum::Num8): return formId;
1061 case int(TestFormNum::Num9): return formId;
1062 case int(TestFormNum::Num10): return formId;
1063 case int(TestFormNum::Num11): return formId;
1064 case int(TestFormNum::Num12): return formId;
1065 case int(TestFormNum::Num13): return formId;
1066 case int(TestFormNum::Num14): return formId;
1067 case int(TestFormNum::Num15): return formId;
1068 case int(TestFormNum::Num16): return formId;
1069 case int(TestFormNum::Num17): return formId;
1070 case int(TestFormNum::Num18): return formId;
1071 case int(TestFormNum::Num19): return formId;
1072 case int(TestFormNum::Num20): return formId;
1073 case int(TestFormNum::Num21): return formId;
1074 case int(TestFormNum::Num22): return formId;
1075 case int(TestFormNum::Num23): return formId;
1076 case int(TestFormNum::Num24): return formId;
1077 case int(TestFormNum::Num25): return formId;
1078 case int(TestFormNum::Num26): return formId;
1079 case int(TestFormNum::Num27): return formId;
1080 case int(TestFormNum::Num28): return formId;
1081 case int(TestFormNum::Num29): return formId;
1082 case int(TestFormNum::Num30): return formId;
1083 case int(TestFormNum::Num31): return formId;
1084 case int(TestFormNum::Num32): return formId;
1085 case int(TestFormNum::Num33): return formId;
1086 case int(TestFormNum::Num34): return formId;
1087 case int(TestFormNum::Num35): return formId;
1088 case int(TestFormNum::Num36): return formId;
1089 case int(TestFormNum::Num37): return formId;
1090 case int(TestFormNum::Num38): return formId;
1091 case int(TestFormNum::Num39): return formId;
1092 case int(TestFormNum::Num40): return formId;
1093 default: return formId;
1094 }
1095 }
1096
TestFormId20(int & formId)1097 int FormUtil::TestFormId20(int &formId)
1098 {
1099 switch (formId) {
1100 case int(TestFormNum::Num1): return formId;
1101 case int(TestFormNum::Num2): return formId;
1102 case int(TestFormNum::Num3): return formId;
1103 case int(TestFormNum::Num4): return formId;
1104 case int(TestFormNum::Num5): return formId;
1105 case int(TestFormNum::Num6): return formId;
1106 case int(TestFormNum::Num7): return formId;
1107 case int(TestFormNum::Num8): return formId;
1108 case int(TestFormNum::Num9): return formId;
1109 case int(TestFormNum::Num10): return formId;
1110 case int(TestFormNum::Num11): return formId;
1111 case int(TestFormNum::Num12): return formId;
1112 case int(TestFormNum::Num13): return formId;
1113 case int(TestFormNum::Num14): return formId;
1114 case int(TestFormNum::Num15): return formId;
1115 case int(TestFormNum::Num16): return formId;
1116 case int(TestFormNum::Num17): return formId;
1117 case int(TestFormNum::Num18): return formId;
1118 case int(TestFormNum::Num19): return formId;
1119 case int(TestFormNum::Num20): return formId;
1120 case int(TestFormNum::Num21): return formId;
1121 case int(TestFormNum::Num22): return formId;
1122 case int(TestFormNum::Num23): return formId;
1123 case int(TestFormNum::Num24): return formId;
1124 case int(TestFormNum::Num25): return formId;
1125 case int(TestFormNum::Num26): return formId;
1126 case int(TestFormNum::Num27): return formId;
1127 case int(TestFormNum::Num28): return formId;
1128 case int(TestFormNum::Num29): return formId;
1129 case int(TestFormNum::Num30): return formId;
1130 case int(TestFormNum::Num31): return formId;
1131 case int(TestFormNum::Num32): return formId;
1132 case int(TestFormNum::Num33): return formId;
1133 case int(TestFormNum::Num34): return formId;
1134 case int(TestFormNum::Num35): return formId;
1135 case int(TestFormNum::Num36): return formId;
1136 case int(TestFormNum::Num37): return formId;
1137 case int(TestFormNum::Num38): return formId;
1138 case int(TestFormNum::Num39): return formId;
1139 case int(TestFormNum::Num40): return formId;
1140 default: return formId;
1141 }
1142 }
1143
TestFormId21(int & formId)1144 int FormUtil::TestFormId21(int &formId)
1145 {
1146 switch (formId) {
1147 case int(TestFormNum::Num1): return formId;
1148 case int(TestFormNum::Num2): return formId;
1149 case int(TestFormNum::Num3): return formId;
1150 case int(TestFormNum::Num4): return formId;
1151 case int(TestFormNum::Num5): return formId;
1152 case int(TestFormNum::Num6): return formId;
1153 case int(TestFormNum::Num7): return formId;
1154 case int(TestFormNum::Num8): return formId;
1155 case int(TestFormNum::Num9): return formId;
1156 case int(TestFormNum::Num10): return formId;
1157 case int(TestFormNum::Num11): return formId;
1158 case int(TestFormNum::Num12): return formId;
1159 case int(TestFormNum::Num13): return formId;
1160 case int(TestFormNum::Num14): return formId;
1161 case int(TestFormNum::Num15): return formId;
1162 case int(TestFormNum::Num16): return formId;
1163 case int(TestFormNum::Num17): return formId;
1164 case int(TestFormNum::Num18): return formId;
1165 case int(TestFormNum::Num19): return formId;
1166 case int(TestFormNum::Num20): return formId;
1167 case int(TestFormNum::Num21): return formId;
1168 case int(TestFormNum::Num22): return formId;
1169 case int(TestFormNum::Num23): return formId;
1170 case int(TestFormNum::Num24): return formId;
1171 case int(TestFormNum::Num25): return formId;
1172 case int(TestFormNum::Num26): return formId;
1173 case int(TestFormNum::Num27): return formId;
1174 case int(TestFormNum::Num28): return formId;
1175 case int(TestFormNum::Num29): return formId;
1176 case int(TestFormNum::Num30): return formId;
1177 case int(TestFormNum::Num31): return formId;
1178 case int(TestFormNum::Num32): return formId;
1179 case int(TestFormNum::Num33): return formId;
1180 case int(TestFormNum::Num34): return formId;
1181 case int(TestFormNum::Num35): return formId;
1182 case int(TestFormNum::Num36): return formId;
1183 case int(TestFormNum::Num37): return formId;
1184 case int(TestFormNum::Num38): return formId;
1185 case int(TestFormNum::Num39): return formId;
1186 case int(TestFormNum::Num40): return formId;
1187 default: return formId;
1188 }
1189 }
1190
TestFormId22(int & formId)1191 int FormUtil::TestFormId22(int &formId)
1192 {
1193 switch (formId) {
1194 case int(TestFormNum::Num1): return formId;
1195 case int(TestFormNum::Num2): return formId;
1196 case int(TestFormNum::Num3): return formId;
1197 case int(TestFormNum::Num4): return formId;
1198 case int(TestFormNum::Num5): return formId;
1199 case int(TestFormNum::Num6): return formId;
1200 case int(TestFormNum::Num7): return formId;
1201 case int(TestFormNum::Num8): return formId;
1202 case int(TestFormNum::Num9): return formId;
1203 case int(TestFormNum::Num10): return formId;
1204 case int(TestFormNum::Num11): return formId;
1205 case int(TestFormNum::Num12): return formId;
1206 case int(TestFormNum::Num13): return formId;
1207 case int(TestFormNum::Num14): return formId;
1208 case int(TestFormNum::Num15): return formId;
1209 case int(TestFormNum::Num16): return formId;
1210 case int(TestFormNum::Num17): return formId;
1211 case int(TestFormNum::Num18): return formId;
1212 case int(TestFormNum::Num19): return formId;
1213 case int(TestFormNum::Num20): return formId;
1214 case int(TestFormNum::Num21): return formId;
1215 case int(TestFormNum::Num22): return formId;
1216 case int(TestFormNum::Num23): return formId;
1217 case int(TestFormNum::Num24): return formId;
1218 case int(TestFormNum::Num25): return formId;
1219 case int(TestFormNum::Num26): return formId;
1220 case int(TestFormNum::Num27): return formId;
1221 case int(TestFormNum::Num28): return formId;
1222 case int(TestFormNum::Num29): return formId;
1223 case int(TestFormNum::Num30): return formId;
1224 case int(TestFormNum::Num31): return formId;
1225 case int(TestFormNum::Num32): return formId;
1226 case int(TestFormNum::Num33): return formId;
1227 case int(TestFormNum::Num34): return formId;
1228 case int(TestFormNum::Num35): return formId;
1229 case int(TestFormNum::Num36): return formId;
1230 case int(TestFormNum::Num37): return formId;
1231 case int(TestFormNum::Num38): return formId;
1232 case int(TestFormNum::Num39): return formId;
1233 case int(TestFormNum::Num40): return formId;
1234 default: return formId;
1235 }
1236 }
1237
TestFormId23(int & formId)1238 int FormUtil::TestFormId23(int &formId)
1239 {
1240 switch (formId) {
1241 case int(TestFormNum::Num1): return formId;
1242 case int(TestFormNum::Num2): return formId;
1243 case int(TestFormNum::Num3): return formId;
1244 case int(TestFormNum::Num4): return formId;
1245 case int(TestFormNum::Num5): return formId;
1246 case int(TestFormNum::Num6): return formId;
1247 case int(TestFormNum::Num7): return formId;
1248 case int(TestFormNum::Num8): return formId;
1249 case int(TestFormNum::Num9): return formId;
1250 case int(TestFormNum::Num10): return formId;
1251 case int(TestFormNum::Num11): return formId;
1252 case int(TestFormNum::Num12): return formId;
1253 case int(TestFormNum::Num13): return formId;
1254 case int(TestFormNum::Num14): return formId;
1255 case int(TestFormNum::Num15): return formId;
1256 case int(TestFormNum::Num16): return formId;
1257 case int(TestFormNum::Num17): return formId;
1258 case int(TestFormNum::Num18): return formId;
1259 case int(TestFormNum::Num19): return formId;
1260 case int(TestFormNum::Num20): return formId;
1261 case int(TestFormNum::Num21): return formId;
1262 case int(TestFormNum::Num22): return formId;
1263 case int(TestFormNum::Num23): return formId;
1264 case int(TestFormNum::Num24): return formId;
1265 case int(TestFormNum::Num25): return formId;
1266 case int(TestFormNum::Num26): return formId;
1267 case int(TestFormNum::Num27): return formId;
1268 case int(TestFormNum::Num28): return formId;
1269 case int(TestFormNum::Num29): return formId;
1270 case int(TestFormNum::Num30): return formId;
1271 case int(TestFormNum::Num31): return formId;
1272 case int(TestFormNum::Num32): return formId;
1273 case int(TestFormNum::Num33): return formId;
1274 case int(TestFormNum::Num34): return formId;
1275 case int(TestFormNum::Num35): return formId;
1276 case int(TestFormNum::Num36): return formId;
1277 case int(TestFormNum::Num37): return formId;
1278 case int(TestFormNum::Num38): return formId;
1279 case int(TestFormNum::Num39): return formId;
1280 case int(TestFormNum::Num40): return formId;
1281 default: return formId;
1282 }
1283 }
1284
TestFormId24(int & formId)1285 int FormUtil::TestFormId24(int &formId)
1286 {
1287 switch (formId) {
1288 case int(TestFormNum::Num1): return formId;
1289 case int(TestFormNum::Num2): return formId;
1290 case int(TestFormNum::Num3): return formId;
1291 case int(TestFormNum::Num4): return formId;
1292 case int(TestFormNum::Num5): return formId;
1293 case int(TestFormNum::Num6): return formId;
1294 case int(TestFormNum::Num7): return formId;
1295 case int(TestFormNum::Num8): return formId;
1296 case int(TestFormNum::Num9): return formId;
1297 case int(TestFormNum::Num10): return formId;
1298 case int(TestFormNum::Num11): return formId;
1299 case int(TestFormNum::Num12): return formId;
1300 case int(TestFormNum::Num13): return formId;
1301 case int(TestFormNum::Num14): return formId;
1302 case int(TestFormNum::Num15): return formId;
1303 case int(TestFormNum::Num16): return formId;
1304 case int(TestFormNum::Num17): return formId;
1305 case int(TestFormNum::Num18): return formId;
1306 case int(TestFormNum::Num19): return formId;
1307 case int(TestFormNum::Num20): return formId;
1308 case int(TestFormNum::Num21): return formId;
1309 case int(TestFormNum::Num22): return formId;
1310 case int(TestFormNum::Num23): return formId;
1311 case int(TestFormNum::Num24): return formId;
1312 case int(TestFormNum::Num25): return formId;
1313 case int(TestFormNum::Num26): return formId;
1314 case int(TestFormNum::Num27): return formId;
1315 case int(TestFormNum::Num28): return formId;
1316 case int(TestFormNum::Num29): return formId;
1317 case int(TestFormNum::Num30): return formId;
1318 case int(TestFormNum::Num31): return formId;
1319 case int(TestFormNum::Num32): return formId;
1320 case int(TestFormNum::Num33): return formId;
1321 case int(TestFormNum::Num34): return formId;
1322 case int(TestFormNum::Num35): return formId;
1323 case int(TestFormNum::Num36): return formId;
1324 case int(TestFormNum::Num37): return formId;
1325 case int(TestFormNum::Num38): return formId;
1326 case int(TestFormNum::Num39): return formId;
1327 case int(TestFormNum::Num40): return formId;
1328 default: return formId;
1329 }
1330 }
1331
TestFormId25(int & formId)1332 int FormUtil::TestFormId25(int &formId)
1333 {
1334 switch (formId) {
1335 case int(TestFormNum::Num1): return formId;
1336 case int(TestFormNum::Num2): return formId;
1337 case int(TestFormNum::Num3): return formId;
1338 case int(TestFormNum::Num4): return formId;
1339 case int(TestFormNum::Num5): return formId;
1340 case int(TestFormNum::Num6): return formId;
1341 case int(TestFormNum::Num7): return formId;
1342 case int(TestFormNum::Num8): return formId;
1343 case int(TestFormNum::Num9): return formId;
1344 case int(TestFormNum::Num10): return formId;
1345 case int(TestFormNum::Num11): return formId;
1346 case int(TestFormNum::Num12): return formId;
1347 case int(TestFormNum::Num13): return formId;
1348 case int(TestFormNum::Num14): return formId;
1349 case int(TestFormNum::Num15): return formId;
1350 case int(TestFormNum::Num16): return formId;
1351 case int(TestFormNum::Num17): return formId;
1352 case int(TestFormNum::Num18): return formId;
1353 case int(TestFormNum::Num19): return formId;
1354 case int(TestFormNum::Num20): return formId;
1355 case int(TestFormNum::Num21): return formId;
1356 case int(TestFormNum::Num22): return formId;
1357 case int(TestFormNum::Num23): return formId;
1358 case int(TestFormNum::Num24): return formId;
1359 case int(TestFormNum::Num25): return formId;
1360 case int(TestFormNum::Num26): return formId;
1361 case int(TestFormNum::Num27): return formId;
1362 case int(TestFormNum::Num28): return formId;
1363 case int(TestFormNum::Num29): return formId;
1364 case int(TestFormNum::Num30): return formId;
1365 case int(TestFormNum::Num31): return formId;
1366 case int(TestFormNum::Num32): return formId;
1367 case int(TestFormNum::Num33): return formId;
1368 case int(TestFormNum::Num34): return formId;
1369 case int(TestFormNum::Num35): return formId;
1370 case int(TestFormNum::Num36): return formId;
1371 case int(TestFormNum::Num37): return formId;
1372 case int(TestFormNum::Num38): return formId;
1373 case int(TestFormNum::Num39): return formId;
1374 case int(TestFormNum::Num40): return formId;
1375 default: return formId;
1376 }
1377 }
1378
TestFormId26(int & formId)1379 int FormUtil::TestFormId26(int &formId)
1380 {
1381 switch (formId) {
1382 case int(TestFormNum::Num1): return formId;
1383 case int(TestFormNum::Num2): return formId;
1384 case int(TestFormNum::Num3): return formId;
1385 case int(TestFormNum::Num4): return formId;
1386 case int(TestFormNum::Num5): return formId;
1387 case int(TestFormNum::Num6): return formId;
1388 case int(TestFormNum::Num7): return formId;
1389 case int(TestFormNum::Num8): return formId;
1390 case int(TestFormNum::Num9): return formId;
1391 case int(TestFormNum::Num10): return formId;
1392 case int(TestFormNum::Num11): return formId;
1393 case int(TestFormNum::Num12): return formId;
1394 case int(TestFormNum::Num13): return formId;
1395 case int(TestFormNum::Num14): return formId;
1396 case int(TestFormNum::Num15): return formId;
1397 case int(TestFormNum::Num16): return formId;
1398 case int(TestFormNum::Num17): return formId;
1399 case int(TestFormNum::Num18): return formId;
1400 case int(TestFormNum::Num19): return formId;
1401 case int(TestFormNum::Num20): return formId;
1402 case int(TestFormNum::Num21): return formId;
1403 case int(TestFormNum::Num22): return formId;
1404 case int(TestFormNum::Num23): return formId;
1405 case int(TestFormNum::Num24): return formId;
1406 case int(TestFormNum::Num25): return formId;
1407 case int(TestFormNum::Num26): return formId;
1408 case int(TestFormNum::Num27): return formId;
1409 case int(TestFormNum::Num28): return formId;
1410 case int(TestFormNum::Num29): return formId;
1411 case int(TestFormNum::Num30): return formId;
1412 case int(TestFormNum::Num31): return formId;
1413 case int(TestFormNum::Num32): return formId;
1414 case int(TestFormNum::Num33): return formId;
1415 case int(TestFormNum::Num34): return formId;
1416 case int(TestFormNum::Num35): return formId;
1417 case int(TestFormNum::Num36): return formId;
1418 case int(TestFormNum::Num37): return formId;
1419 case int(TestFormNum::Num38): return formId;
1420 case int(TestFormNum::Num39): return formId;
1421 case int(TestFormNum::Num40): return formId;
1422 default: return formId;
1423 }
1424 }
1425
TestFormId27(int & formId)1426 int FormUtil::TestFormId27(int &formId)
1427 {
1428 switch (formId) {
1429 case int(TestFormNum::Num1): return formId;
1430 case int(TestFormNum::Num2): return formId;
1431 case int(TestFormNum::Num3): return formId;
1432 case int(TestFormNum::Num4): return formId;
1433 case int(TestFormNum::Num5): return formId;
1434 case int(TestFormNum::Num6): return formId;
1435 case int(TestFormNum::Num7): return formId;
1436 case int(TestFormNum::Num8): return formId;
1437 case int(TestFormNum::Num9): return formId;
1438 case int(TestFormNum::Num10): return formId;
1439 case int(TestFormNum::Num11): return formId;
1440 case int(TestFormNum::Num12): return formId;
1441 case int(TestFormNum::Num13): return formId;
1442 case int(TestFormNum::Num14): return formId;
1443 case int(TestFormNum::Num15): return formId;
1444 case int(TestFormNum::Num16): return formId;
1445 case int(TestFormNum::Num17): return formId;
1446 case int(TestFormNum::Num18): return formId;
1447 case int(TestFormNum::Num19): return formId;
1448 case int(TestFormNum::Num20): return formId;
1449 case int(TestFormNum::Num21): return formId;
1450 case int(TestFormNum::Num22): return formId;
1451 case int(TestFormNum::Num23): return formId;
1452 case int(TestFormNum::Num24): return formId;
1453 case int(TestFormNum::Num25): return formId;
1454 case int(TestFormNum::Num26): return formId;
1455 case int(TestFormNum::Num27): return formId;
1456 case int(TestFormNum::Num28): return formId;
1457 case int(TestFormNum::Num29): return formId;
1458 case int(TestFormNum::Num30): return formId;
1459 case int(TestFormNum::Num31): return formId;
1460 case int(TestFormNum::Num32): return formId;
1461 case int(TestFormNum::Num33): return formId;
1462 case int(TestFormNum::Num34): return formId;
1463 case int(TestFormNum::Num35): return formId;
1464 case int(TestFormNum::Num36): return formId;
1465 case int(TestFormNum::Num37): return formId;
1466 case int(TestFormNum::Num38): return formId;
1467 case int(TestFormNum::Num39): return formId;
1468 case int(TestFormNum::Num40): return formId;
1469 default: return formId;
1470 }
1471 }
1472
TestFormId28(int & formId)1473 int FormUtil::TestFormId28(int &formId)
1474 {
1475 switch (formId) {
1476 case int(TestFormNum::Num1): return formId;
1477 case int(TestFormNum::Num2): return formId;
1478 case int(TestFormNum::Num3): return formId;
1479 case int(TestFormNum::Num4): return formId;
1480 case int(TestFormNum::Num5): return formId;
1481 case int(TestFormNum::Num6): return formId;
1482 case int(TestFormNum::Num7): return formId;
1483 case int(TestFormNum::Num8): return formId;
1484 case int(TestFormNum::Num9): return formId;
1485 case int(TestFormNum::Num10): return formId;
1486 case int(TestFormNum::Num11): return formId;
1487 case int(TestFormNum::Num12): return formId;
1488 case int(TestFormNum::Num13): return formId;
1489 case int(TestFormNum::Num14): return formId;
1490 case int(TestFormNum::Num15): return formId;
1491 case int(TestFormNum::Num16): return formId;
1492 case int(TestFormNum::Num17): return formId;
1493 case int(TestFormNum::Num18): return formId;
1494 case int(TestFormNum::Num19): return formId;
1495 case int(TestFormNum::Num20): return formId;
1496 case int(TestFormNum::Num21): return formId;
1497 case int(TestFormNum::Num22): return formId;
1498 case int(TestFormNum::Num23): return formId;
1499 case int(TestFormNum::Num24): return formId;
1500 case int(TestFormNum::Num25): return formId;
1501 case int(TestFormNum::Num26): return formId;
1502 case int(TestFormNum::Num27): return formId;
1503 case int(TestFormNum::Num28): return formId;
1504 case int(TestFormNum::Num29): return formId;
1505 case int(TestFormNum::Num30): return formId;
1506 case int(TestFormNum::Num31): return formId;
1507 case int(TestFormNum::Num32): return formId;
1508 case int(TestFormNum::Num33): return formId;
1509 case int(TestFormNum::Num34): return formId;
1510 case int(TestFormNum::Num35): return formId;
1511 case int(TestFormNum::Num36): return formId;
1512 case int(TestFormNum::Num37): return formId;
1513 case int(TestFormNum::Num38): return formId;
1514 case int(TestFormNum::Num39): return formId;
1515 case int(TestFormNum::Num40): return formId;
1516 default: return formId;
1517 }
1518 }
1519
TestFormId29(int & formId)1520 int FormUtil::TestFormId29(int &formId)
1521 {
1522 switch (formId) {
1523 case int(TestFormNum::Num1): return formId;
1524 case int(TestFormNum::Num2): return formId;
1525 case int(TestFormNum::Num3): return formId;
1526 case int(TestFormNum::Num4): return formId;
1527 case int(TestFormNum::Num5): return formId;
1528 case int(TestFormNum::Num6): return formId;
1529 case int(TestFormNum::Num7): return formId;
1530 case int(TestFormNum::Num8): return formId;
1531 case int(TestFormNum::Num9): return formId;
1532 case int(TestFormNum::Num10): return formId;
1533 case int(TestFormNum::Num11): return formId;
1534 case int(TestFormNum::Num12): return formId;
1535 case int(TestFormNum::Num13): return formId;
1536 case int(TestFormNum::Num14): return formId;
1537 case int(TestFormNum::Num15): return formId;
1538 case int(TestFormNum::Num16): return formId;
1539 case int(TestFormNum::Num17): return formId;
1540 case int(TestFormNum::Num18): return formId;
1541 case int(TestFormNum::Num19): return formId;
1542 case int(TestFormNum::Num20): return formId;
1543 case int(TestFormNum::Num21): return formId;
1544 case int(TestFormNum::Num22): return formId;
1545 case int(TestFormNum::Num23): return formId;
1546 case int(TestFormNum::Num24): return formId;
1547 case int(TestFormNum::Num25): return formId;
1548 case int(TestFormNum::Num26): return formId;
1549 case int(TestFormNum::Num27): return formId;
1550 case int(TestFormNum::Num28): return formId;
1551 case int(TestFormNum::Num29): return formId;
1552 case int(TestFormNum::Num30): return formId;
1553 case int(TestFormNum::Num31): return formId;
1554 case int(TestFormNum::Num32): return formId;
1555 case int(TestFormNum::Num33): return formId;
1556 case int(TestFormNum::Num34): return formId;
1557 case int(TestFormNum::Num35): return formId;
1558 case int(TestFormNum::Num36): return formId;
1559 case int(TestFormNum::Num37): return formId;
1560 case int(TestFormNum::Num38): return formId;
1561 case int(TestFormNum::Num39): return formId;
1562 case int(TestFormNum::Num40): return formId;
1563 default: return formId;
1564 }
1565 }
1566
TestFormId30(int & formId)1567 int FormUtil::TestFormId30(int &formId)
1568 {
1569 switch (formId) {
1570 case int(TestFormNum::Num1): return formId;
1571 case int(TestFormNum::Num2): return formId;
1572 case int(TestFormNum::Num3): return formId;
1573 case int(TestFormNum::Num4): return formId;
1574 case int(TestFormNum::Num5): return formId;
1575 case int(TestFormNum::Num6): return formId;
1576 case int(TestFormNum::Num7): return formId;
1577 case int(TestFormNum::Num8): return formId;
1578 case int(TestFormNum::Num9): return formId;
1579 case int(TestFormNum::Num10): return formId;
1580 case int(TestFormNum::Num11): return formId;
1581 case int(TestFormNum::Num12): return formId;
1582 case int(TestFormNum::Num13): return formId;
1583 case int(TestFormNum::Num14): return formId;
1584 case int(TestFormNum::Num15): return formId;
1585 case int(TestFormNum::Num16): return formId;
1586 case int(TestFormNum::Num17): return formId;
1587 case int(TestFormNum::Num18): return formId;
1588 case int(TestFormNum::Num19): return formId;
1589 case int(TestFormNum::Num20): return formId;
1590 case int(TestFormNum::Num21): return formId;
1591 case int(TestFormNum::Num22): return formId;
1592 case int(TestFormNum::Num23): return formId;
1593 case int(TestFormNum::Num24): return formId;
1594 case int(TestFormNum::Num25): return formId;
1595 case int(TestFormNum::Num26): return formId;
1596 case int(TestFormNum::Num27): return formId;
1597 case int(TestFormNum::Num28): return formId;
1598 case int(TestFormNum::Num29): return formId;
1599 case int(TestFormNum::Num30): return formId;
1600 case int(TestFormNum::Num31): return formId;
1601 case int(TestFormNum::Num32): return formId;
1602 case int(TestFormNum::Num33): return formId;
1603 case int(TestFormNum::Num34): return formId;
1604 case int(TestFormNum::Num35): return formId;
1605 case int(TestFormNum::Num36): return formId;
1606 case int(TestFormNum::Num37): return formId;
1607 case int(TestFormNum::Num38): return formId;
1608 case int(TestFormNum::Num39): return formId;
1609 case int(TestFormNum::Num40): return formId;
1610 default: return formId;
1611 }
1612 }
1613
TestFormId31(int & formId)1614 int FormUtil::TestFormId31(int &formId)
1615 {
1616 switch (formId) {
1617 case int(TestFormNum::Num1): return formId;
1618 case int(TestFormNum::Num2): return formId;
1619 case int(TestFormNum::Num3): return formId;
1620 case int(TestFormNum::Num4): return formId;
1621 case int(TestFormNum::Num5): return formId;
1622 case int(TestFormNum::Num6): return formId;
1623 case int(TestFormNum::Num7): return formId;
1624 case int(TestFormNum::Num8): return formId;
1625 case int(TestFormNum::Num9): return formId;
1626 case int(TestFormNum::Num10): return formId;
1627 case int(TestFormNum::Num11): return formId;
1628 case int(TestFormNum::Num12): return formId;
1629 case int(TestFormNum::Num13): return formId;
1630 case int(TestFormNum::Num14): return formId;
1631 case int(TestFormNum::Num15): return formId;
1632 case int(TestFormNum::Num16): return formId;
1633 case int(TestFormNum::Num17): return formId;
1634 case int(TestFormNum::Num18): return formId;
1635 case int(TestFormNum::Num19): return formId;
1636 case int(TestFormNum::Num20): return formId;
1637 case int(TestFormNum::Num21): return formId;
1638 case int(TestFormNum::Num22): return formId;
1639 case int(TestFormNum::Num23): return formId;
1640 case int(TestFormNum::Num24): return formId;
1641 case int(TestFormNum::Num25): return formId;
1642 case int(TestFormNum::Num26): return formId;
1643 case int(TestFormNum::Num27): return formId;
1644 case int(TestFormNum::Num28): return formId;
1645 case int(TestFormNum::Num29): return formId;
1646 case int(TestFormNum::Num30): return formId;
1647 case int(TestFormNum::Num31): return formId;
1648 case int(TestFormNum::Num32): return formId;
1649 case int(TestFormNum::Num33): return formId;
1650 case int(TestFormNum::Num34): return formId;
1651 case int(TestFormNum::Num35): return formId;
1652 case int(TestFormNum::Num36): return formId;
1653 case int(TestFormNum::Num37): return formId;
1654 case int(TestFormNum::Num38): return formId;
1655 case int(TestFormNum::Num39): return formId;
1656 case int(TestFormNum::Num40): return formId;
1657 default: return formId;
1658 }
1659 }
1660
TestFormId32(int & formId)1661 int FormUtil::TestFormId32(int &formId)
1662 {
1663 switch (formId) {
1664 case int(TestFormNum::Num1): return formId;
1665 case int(TestFormNum::Num2): return formId;
1666 case int(TestFormNum::Num3): return formId;
1667 case int(TestFormNum::Num4): return formId;
1668 case int(TestFormNum::Num5): return formId;
1669 case int(TestFormNum::Num6): return formId;
1670 case int(TestFormNum::Num7): return formId;
1671 case int(TestFormNum::Num8): return formId;
1672 case int(TestFormNum::Num9): return formId;
1673 case int(TestFormNum::Num10): return formId;
1674 case int(TestFormNum::Num11): return formId;
1675 case int(TestFormNum::Num12): return formId;
1676 case int(TestFormNum::Num13): return formId;
1677 case int(TestFormNum::Num14): return formId;
1678 case int(TestFormNum::Num15): return formId;
1679 case int(TestFormNum::Num16): return formId;
1680 case int(TestFormNum::Num17): return formId;
1681 case int(TestFormNum::Num18): return formId;
1682 case int(TestFormNum::Num19): return formId;
1683 case int(TestFormNum::Num20): return formId;
1684 case int(TestFormNum::Num21): return formId;
1685 case int(TestFormNum::Num22): return formId;
1686 case int(TestFormNum::Num23): return formId;
1687 case int(TestFormNum::Num24): return formId;
1688 case int(TestFormNum::Num25): return formId;
1689 case int(TestFormNum::Num26): return formId;
1690 case int(TestFormNum::Num27): return formId;
1691 case int(TestFormNum::Num28): return formId;
1692 case int(TestFormNum::Num29): return formId;
1693 case int(TestFormNum::Num30): return formId;
1694 case int(TestFormNum::Num31): return formId;
1695 case int(TestFormNum::Num32): return formId;
1696 case int(TestFormNum::Num33): return formId;
1697 case int(TestFormNum::Num34): return formId;
1698 case int(TestFormNum::Num35): return formId;
1699 case int(TestFormNum::Num36): return formId;
1700 case int(TestFormNum::Num37): return formId;
1701 case int(TestFormNum::Num38): return formId;
1702 case int(TestFormNum::Num39): return formId;
1703 case int(TestFormNum::Num40): return formId;
1704 default: return formId;
1705 }
1706 }
1707
TestFormId33(int & formId)1708 int FormUtil::TestFormId33(int &formId)
1709 {
1710 switch (formId) {
1711 case int(TestFormNum::Num1): return formId;
1712 case int(TestFormNum::Num2): return formId;
1713 case int(TestFormNum::Num3): return formId;
1714 case int(TestFormNum::Num4): return formId;
1715 case int(TestFormNum::Num5): return formId;
1716 case int(TestFormNum::Num6): return formId;
1717 case int(TestFormNum::Num7): return formId;
1718 case int(TestFormNum::Num8): return formId;
1719 case int(TestFormNum::Num9): return formId;
1720 case int(TestFormNum::Num10): return formId;
1721 case int(TestFormNum::Num11): return formId;
1722 case int(TestFormNum::Num12): return formId;
1723 case int(TestFormNum::Num13): return formId;
1724 case int(TestFormNum::Num14): return formId;
1725 case int(TestFormNum::Num15): return formId;
1726 case int(TestFormNum::Num16): return formId;
1727 case int(TestFormNum::Num17): return formId;
1728 case int(TestFormNum::Num18): return formId;
1729 case int(TestFormNum::Num19): return formId;
1730 case int(TestFormNum::Num20): return formId;
1731 case int(TestFormNum::Num21): return formId;
1732 case int(TestFormNum::Num22): return formId;
1733 case int(TestFormNum::Num23): return formId;
1734 case int(TestFormNum::Num24): return formId;
1735 case int(TestFormNum::Num25): return formId;
1736 case int(TestFormNum::Num26): return formId;
1737 case int(TestFormNum::Num27): return formId;
1738 case int(TestFormNum::Num28): return formId;
1739 case int(TestFormNum::Num29): return formId;
1740 case int(TestFormNum::Num30): return formId;
1741 case int(TestFormNum::Num31): return formId;
1742 case int(TestFormNum::Num32): return formId;
1743 case int(TestFormNum::Num33): return formId;
1744 case int(TestFormNum::Num34): return formId;
1745 case int(TestFormNum::Num35): return formId;
1746 case int(TestFormNum::Num36): return formId;
1747 case int(TestFormNum::Num37): return formId;
1748 case int(TestFormNum::Num38): return formId;
1749 case int(TestFormNum::Num39): return formId;
1750 case int(TestFormNum::Num40): return formId;
1751 default: return formId;
1752 }
1753 }
1754
TestFormId34(int & formId)1755 int FormUtil::TestFormId34(int &formId)
1756 {
1757 switch (formId) {
1758 case int(TestFormNum::Num1): return formId;
1759 case int(TestFormNum::Num2): return formId;
1760 case int(TestFormNum::Num3): return formId;
1761 case int(TestFormNum::Num4): return formId;
1762 case int(TestFormNum::Num5): return formId;
1763 case int(TestFormNum::Num6): return formId;
1764 case int(TestFormNum::Num7): return formId;
1765 case int(TestFormNum::Num8): return formId;
1766 case int(TestFormNum::Num9): return formId;
1767 case int(TestFormNum::Num10): return formId;
1768 case int(TestFormNum::Num11): return formId;
1769 case int(TestFormNum::Num12): return formId;
1770 case int(TestFormNum::Num13): return formId;
1771 case int(TestFormNum::Num14): return formId;
1772 case int(TestFormNum::Num15): return formId;
1773 case int(TestFormNum::Num16): return formId;
1774 case int(TestFormNum::Num17): return formId;
1775 case int(TestFormNum::Num18): return formId;
1776 case int(TestFormNum::Num19): return formId;
1777 case int(TestFormNum::Num20): return formId;
1778 case int(TestFormNum::Num21): return formId;
1779 case int(TestFormNum::Num22): return formId;
1780 case int(TestFormNum::Num23): return formId;
1781 case int(TestFormNum::Num24): return formId;
1782 case int(TestFormNum::Num25): return formId;
1783 case int(TestFormNum::Num26): return formId;
1784 case int(TestFormNum::Num27): return formId;
1785 case int(TestFormNum::Num28): return formId;
1786 case int(TestFormNum::Num29): return formId;
1787 case int(TestFormNum::Num30): return formId;
1788 case int(TestFormNum::Num31): return formId;
1789 case int(TestFormNum::Num32): return formId;
1790 case int(TestFormNum::Num33): return formId;
1791 case int(TestFormNum::Num34): return formId;
1792 case int(TestFormNum::Num35): return formId;
1793 case int(TestFormNum::Num36): return formId;
1794 case int(TestFormNum::Num37): return formId;
1795 case int(TestFormNum::Num38): return formId;
1796 case int(TestFormNum::Num39): return formId;
1797 case int(TestFormNum::Num40): return formId;
1798 default: return formId;
1799 }
1800 }
1801
TestFormId35(int & formId)1802 int FormUtil::TestFormId35(int &formId)
1803 {
1804 switch (formId) {
1805 case int(TestFormNum::Num1): return formId;
1806 case int(TestFormNum::Num2): return formId;
1807 case int(TestFormNum::Num3): return formId;
1808 case int(TestFormNum::Num4): return formId;
1809 case int(TestFormNum::Num5): return formId;
1810 case int(TestFormNum::Num6): return formId;
1811 case int(TestFormNum::Num7): return formId;
1812 case int(TestFormNum::Num8): return formId;
1813 case int(TestFormNum::Num9): return formId;
1814 case int(TestFormNum::Num10): return formId;
1815 case int(TestFormNum::Num11): return formId;
1816 case int(TestFormNum::Num12): return formId;
1817 case int(TestFormNum::Num13): return formId;
1818 case int(TestFormNum::Num14): return formId;
1819 case int(TestFormNum::Num15): return formId;
1820 case int(TestFormNum::Num16): return formId;
1821 case int(TestFormNum::Num17): return formId;
1822 case int(TestFormNum::Num18): return formId;
1823 case int(TestFormNum::Num19): return formId;
1824 case int(TestFormNum::Num20): return formId;
1825 case int(TestFormNum::Num21): return formId;
1826 case int(TestFormNum::Num22): return formId;
1827 case int(TestFormNum::Num23): return formId;
1828 case int(TestFormNum::Num24): return formId;
1829 case int(TestFormNum::Num25): return formId;
1830 case int(TestFormNum::Num26): return formId;
1831 case int(TestFormNum::Num27): return formId;
1832 case int(TestFormNum::Num28): return formId;
1833 case int(TestFormNum::Num29): return formId;
1834 case int(TestFormNum::Num30): return formId;
1835 case int(TestFormNum::Num31): return formId;
1836 case int(TestFormNum::Num32): return formId;
1837 case int(TestFormNum::Num33): return formId;
1838 case int(TestFormNum::Num34): return formId;
1839 case int(TestFormNum::Num35): return formId;
1840 case int(TestFormNum::Num36): return formId;
1841 case int(TestFormNum::Num37): return formId;
1842 case int(TestFormNum::Num38): return formId;
1843 case int(TestFormNum::Num39): return formId;
1844 case int(TestFormNum::Num40): return formId;
1845 default: return formId;
1846 }
1847 }
1848
1849 /**
1850 * @brief get current active account id.
1851 * @return int current active account id.
1852 */
GetCurrentAccountId()1853 int FormUtil::GetCurrentAccountId()
1854 {
1855 std::vector<int32_t> activeList;
1856 ErrCode errCode = DelayedSingleton<OsAccountManagerWrapper>::GetInstance()->QueryActiveOsAccountIds(activeList);
1857 if (errCode != ERR_OK) {
1858 HILOG_ERROR("QueryActiveOsAccountIds failed");
1859 return Constants::ANY_USERID;
1860 }
1861 if (activeList.empty()) {
1862 HILOG_ERROR("empty QueryActiveOsAccountIds,no accounts");
1863 return Constants::ANY_USERID;
1864 }
1865
1866 return activeList.front();
1867 }
1868
IsSACall()1869 bool FormUtil::IsSACall()
1870 {
1871 auto callerToken = IPCSkeleton::GetCallingTokenID();
1872 HILOG_DEBUG("callerToken : %{private}u", callerToken);
1873
1874 auto tokenType = Security::AccessToken::AccessTokenKit::GetTokenTypeFlag(callerToken);
1875 if (tokenType == Security::AccessToken::ATokenTypeEnum::TOKEN_NATIVE) {
1876 HILOG_DEBUG("caller tokenType is native, verify success");
1877 return true;
1878 }
1879
1880 if (IPCSkeleton::GetCallingUid() == SYSTEM_UID) {
1881 HILOG_DEBUG("callingUid is native,verify success");
1882 return true;
1883 }
1884
1885 HILOG_DEBUG("call");
1886 return false;
1887 }
1888
VerifyCallingPermission(const std::string & permissionName)1889 bool FormUtil::VerifyCallingPermission(const std::string &permissionName)
1890 {
1891 HILOG_DEBUG("call.permission name is:%{public}s", permissionName.c_str());
1892 auto callerToken = IPCSkeleton::GetCallingTokenID();
1893 int32_t ret = Security::AccessToken::AccessTokenKit::VerifyAccessToken(callerToken, permissionName);
1894 if (ret == Security::AccessToken::PermissionState::PERMISSION_DENIED) {
1895 HILOG_ERROR("permission %{public}s: PERMISSION_DENIED", permissionName.c_str());
1896 return false;
1897 }
1898 HILOG_DEBUG("Verify calling permission success");
1899 return true;
1900 }
1901
ConvertStringToInt64(const std::string & strInfo,int64_t & int64Value)1902 bool FormUtil::ConvertStringToInt64(const std::string &strInfo, int64_t &int64Value)
1903 {
1904 size_t strLength = strInfo.size();
1905 if (strLength == ZERO_VALUE) {
1906 int64Value = ZERO_VALUE;
1907 return true;
1908 }
1909 std::regex pattern("^0|-?[1-9][0-9]{0,18}$"); // "^-?[0-9]{1,19}$"
1910 std::smatch match;
1911 if (regex_match(strInfo, match, pattern)) {
1912 HILOG_DEBUG("regex_match successed");
1913 if (strInfo.substr(ZERO_VALUE, ZERO_VALUE + 1) != "-") { // maximum: 9223372036854775807
1914 if (strLength < INT_64_LENGTH) {
1915 int64Value = static_cast<int64_t>(ConvertStringToLongLong(strInfo));
1916 return true;
1917 }
1918 int maxSubValue = ConvertStringToInt(strInfo.substr(ZERO_VALUE, ZERO_VALUE + 1));
1919 if (strLength == INT_64_LENGTH && maxSubValue < BASE_NUMBER) {
1920 int64Value = static_cast<int64_t>(ConvertStringToLongLong(strInfo));
1921 return true;
1922 }
1923 // Means 0x7FFFFFFFFFFFFFFF remove the first number:(2^63 - 1 - 9 * 10 ^ 19)
1924 int64_t subValue = static_cast<int64_t>(ConvertStringToLongLong(strInfo.substr(ZERO_VALUE + 1,
1925 INT_64_LENGTH - 1)));
1926 if (strLength == INT_64_LENGTH && subValue <= (INT64_MAX - HEAD_BIT_NUM)) {
1927 int64Value = static_cast<int64_t>(ConvertStringToLongLong(strInfo));
1928 return true;
1929 }
1930 return false;
1931 }
1932 if (strLength < INT_64_LENGTH + 1) { // The minimum value: -9223372036854775808
1933 int64Value = static_cast<int64_t>(ConvertStringToLongLong(strInfo));
1934 return true;
1935 }
1936 if (strLength == INT_64_LENGTH + 1) {
1937 int minSubValue = ConvertStringToInt(strInfo.substr(1, 1));
1938 if (minSubValue < BASE_NUMBER) {
1939 int64Value = static_cast<int64_t>(ConvertStringToLongLong(strInfo));
1940 return true;
1941 }
1942
1943 // Means 0x8000000000000000 remove the first number:-(2^63 - 9 * 10 ^ 19)
1944 int64_t subValue = static_cast<int64_t>(ConvertStringToLongLong(strInfo.substr(ZERO_VALUE + 2,
1945 INT_64_LENGTH - 1)));
1946 if (subValue <= (INT64_MAX - HEAD_BIT_NUM + 1)) {
1947 int64Value = ConvertStringToLongLong(strInfo);
1948 return true;
1949 }
1950 }
1951 }
1952 HILOG_DEBUG("regex_match failed");
1953 return false;
1954 }
1955
ConvertStringToInt(const std::string & strInfo,int radix)1956 int FormUtil::ConvertStringToInt(const std::string &strInfo, int radix)
1957 {
1958 return static_cast<int>(strtol(strInfo.c_str(), nullptr, radix));
1959 }
1960
ConvertStringToLongLong(const std::string & strInfo,int radix)1961 long long FormUtil::ConvertStringToLongLong(const std::string &strInfo, int radix)
1962 {
1963 return static_cast<long long>(strtoll(strInfo.c_str(), nullptr, radix));
1964 }
1965
IsActiveUser(const int32_t userId)1966 bool FormUtil::IsActiveUser(const int32_t userId)
1967 {
1968 std::vector<int32_t> activeList;
1969 auto errCode = DelayedSingleton<OsAccountManagerWrapper>::GetInstance()->QueryActiveOsAccountIds(activeList);
1970 auto iter = std::find(activeList.begin(), activeList.end(), userId);
1971 return iter != activeList.end() && errCode == ERR_OK;
1972 }
1973 } // namespace AppExecFwk
1974 } // namespace OHOS