Re-organized sub-directory by category
[staging/basesystem.git] / service / system / task_manager / server / src / tskm_debug.cpp
1 /*
2  * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 #include "tskm_debug.h"
18
19 const char*
20 tskm_convState2Str(TSKM_STATE_t state) {
21   const char* ret = "UNKNONW";
22   switch (state) {    // LCOV_EXCL_BR_LINE 7:debug code
23     case TSKM_ST_ACCOFF:
24       ret = "ACCOFF";
25       break;
26     case TSKM_ST_ACCON:
27       ret = "ACCON";
28       break;
29     case TSKM_ST_WAKEUP:
30       ret = "WAKEUP";
31       break;
32     case TSKM_ST_RUNNING:
33       ret = "RUNNING";
34       break;
35     case TSKM_ST_DOWN:
36       ret = "DOWN";
37       break;
38   }
39   return ret;
40 }
41
42 const char*
43 tskm_convEvent2Str(TSKM_EVENT_t event) {
44   switch (event) {    // LCOV_EXCL_BR_LINE 7:debug code
45     case TSKM_EV_NOP:
46       return "NOP";
47     case TSKM_EV_PRI_REQ_WAKEUP:
48       // LCOV_EXCL_START 7:debug code
49       AGL_ASSERT_NOT_TESTED();  // LCOV_EXCL_LINE 200: test assert
50       return "PRI_REQ_WAKEUP";
51       // LCOV_EXCL_STOP
52     case TSKM_EV_PRI_REQ_DOWN:
53       // LCOV_EXCL_START 7:debug code
54       AGL_ASSERT_NOT_TESTED();  // LCOV_EXCL_LINE 200: test assert
55       return "PRI_REQ_DOWN";
56       // LCOV_EXCL_STOP
57     case TSKM_EV_PRI_REQ_TOUCH:
58       // LCOV_EXCL_START 7:debug code
59       AGL_ASSERT_NOT_TESTED();  // LCOV_EXCL_LINE 200: test assert
60       return "PRI_REQ_TOUCH";
61       // LCOV_EXCL_STOP
62     case TSKM_EV_PRI_REQ_DEBUGDUMP:
63       // LCOV_EXCL_START 7:debug code
64       AGL_ASSERT_NOT_TESTED();  // LCOV_EXCL_LINE 200: test assert
65       return "PRI_REQ_DEBUGDUMP";
66       // LCOV_EXCL_STOP
67     case TSKM_EV_PRI_REP_LOWMEM:
68       // LCOV_EXCL_START 7:debug code
69       AGL_ASSERT_NOT_TESTED();  // LCOV_EXCL_LINE 200: test assert
70       return "PRI_REP_LOWMEM";
71       // LCOV_EXCL_STOP
72     case TSKM_EV_PRI_REP_WAKEUP_COMP:
73       return "PRI_REP_WAKEUP_COMP";
74     case TSKM_EV_PRI_REP_DOWN_COMP:
75       // LCOV_EXCL_START 7:debug code
76       AGL_ASSERT_NOT_TESTED();  // LCOV_EXCL_LINE 200: test assert
77       return "PRI_REP_DOWN_COMP";
78       // LCOV_EXCL_STOP
79     case TSKM_EV_PRI_REP_CONNECT:
80       // LCOV_EXCL_START 7:debug code
81       AGL_ASSERT_NOT_TESTED();  // LCOV_EXCL_LINE 200: test assert
82       return "PRI_REP_CONNECT";
83       // LCOV_EXCL_STOP
84     case TSKM_EV_PRI_REP_DISCONNECT:
85       return "PRI_REP_DISCONNECT";
86     case TSKM_EV_PRI_RES_WAKEUP:
87       // LCOV_EXCL_START 7:debug code
88       AGL_ASSERT_NOT_TESTED();  // LCOV_EXCL_LINE 200: test assert
89       return "PRI_RES_WAKEUP";
90       // LCOV_EXCL_STOP
91     case TSKM_EV_PRI_RES_DOWN:
92       return "PRI_RES_DOWN";
93     case TSKM_EV_PRI_RES_DEBUGDUMP:
94       // LCOV_EXCL_START 7:debug code
95       AGL_ASSERT_NOT_TESTED();  // LCOV_EXCL_LINE 200: test assert
96       return "PRI_RES_DEBUGDUMP";
97       // LCOV_EXCL_STOP
98     case TSKM_EV_PRI_REQ_EXIT:
99       // LCOV_EXCL_START 7:debug code
100       AGL_ASSERT_NOT_TESTED();  // LCOV_EXCL_LINE 200: test assert
101       return "PRI_REQ_EXIT";
102       // LCOV_EXCL_STOP
103     case TSKM_EV_SVC_REP_TERM:
104       return "SVC_REP_TERM";
105     case TSKM_EV_API_REQ_REBOOT:
106       // LCOV_EXCL_START 7:debug code
107       AGL_ASSERT_NOT_TESTED();  // LCOV_EXCL_LINE 200: test assert
108       return "API_REQ_REBOOT";
109       // LCOV_EXCL_STOP
110     case TSKM_EV_API_REQ_SVC_CTL:
111       // LCOV_EXCL_START 7:debug code
112       AGL_ASSERT_NOT_TESTED();  // LCOV_EXCL_LINE 200: test assert
113       return "API_REQ_SVC_CTL";
114       // LCOV_EXCL_STOP
115     case TSKM_EV_API_REQ_SVC_DISABLE:
116       // LCOV_EXCL_START 7:debug code
117       AGL_ASSERT_NOT_TESTED();  // LCOV_EXCL_LINE 200: test assert
118       return "API_REQ_SVC_DISABLE";
119       // LCOV_EXCL_STOP
120     case TSKM_EV_LCL_REQ_STOP:
121       return "API_REQ_STOP";
122     case TSKM_EV_LCL_CHG_SVC_STATE:
123       return "LCL_CHG_SVC_STATE";
124     case TSKM_EV_LCL_REQ_SDUMP:
125       // LCOV_EXCL_START 7:debug code
126       AGL_ASSERT_NOT_TESTED();  // LCOV_EXCL_LINE 200: test assert
127       return "LCL_REQ_SDUMP";
128       // LCOV_EXCL_STOP
129     case TSKM_EV_LCL_REP_TIMEOUT:
130       // LCOV_EXCL_START 7:debug code
131       AGL_ASSERT_NOT_TESTED();  // LCOV_EXCL_LINE 200: test assert
132       return "LCL_REP_TIMEOUT";
133       // LCOV_EXCL_STOP
134     case TSKM_EV_LCL_REP_POLLING:
135       // LCOV_EXCL_START 7:debug code
136       AGL_ASSERT_NOT_TESTED();  // LCOV_EXCL_LINE 200: test assert
137       return "LCL_REP_POLLING";
138       // LCOV_EXCL_STOP
139     case TSKM_EV_LCL_REP_LOWMEM:
140       // LCOV_EXCL_START 7:debug code
141       AGL_ASSERT_NOT_TESTED();  // LCOV_EXCL_LINE 200: test assert
142       return "LCL_REP_LOWMEM";
143       // LCOV_EXCL_STOP
144     case TSKM_EV_LCL_REQ_TRANS_STEP:
145       // LCOV_EXCL_START 7:debug code
146       AGL_ASSERT_NOT_TESTED();  // LCOV_EXCL_LINE 200: test assert
147       return "LCL_REQ_TRANS_STEP";
148       // LCOV_EXCL_STOP
149     default:
150       break;
151   }
152   // LCOV_EXCL_START 7:debug code
153   AGL_ASSERT_NOT_TESTED();  // LCOV_EXCL_LINE 200: test assert
154   return "UNKNOWN";
155   // LCOV_EXCL_STOP
156 }
157
158 const char*
159 tskm_convInitCompId2Str(uint64_t compId) {
160   switch (compId) {    // LCOV_EXCL_BR_LINE 7:debug code
161     case INI_INITCOMP_NONE:
162       return "NONE";
163     case INI_INITCOMP_ON_START:
164       return "ONSTART";
165     case INI_INITCOMP_NVM_ACCESS:
166       return "NVM_ACCESS";
167     case INI_INITCOMP_TEST0:
168       // LCOV_EXCL_START 7:debug code
169       AGL_ASSERT_NOT_TESTED();  // LCOV_EXCL_LINE 200: test assert
170       return "TEST0";
171       // LCOV_EXCL_STOP
172     case INI_INITCOMP_TEST1:
173       // LCOV_EXCL_START 7:debug code
174       AGL_ASSERT_NOT_TESTED();  // LCOV_EXCL_LINE 200: test assert
175       return "TEST1";
176       // LCOV_EXCL_STOP
177     case INI_INITCOMP_TEST2:
178       // LCOV_EXCL_START 7:debug code
179       AGL_ASSERT_NOT_TESTED();  // LCOV_EXCL_LINE 200: test assert
180       return "TEST2";
181       // LCOV_EXCL_STOP
182     case INI_INITCOMP_TEST3:
183       // LCOV_EXCL_START 7:debug code
184       AGL_ASSERT_NOT_TESTED();  // LCOV_EXCL_LINE 200: test assert
185       return "TEST3";
186       // LCOV_EXCL_STOP
187   }
188   // LCOV_EXCL_START 7:debug code
189   AGL_ASSERT_NOT_TESTED();  // LCOV_EXCL_LINE 200: test assert
190   return "UNKNONW";
191   // LCOV_EXCL_STOP
192 }
193
194 const char*
195 tskm_convTermCompId2Str(uint64_t compId) {
196   switch (compId) {  // LCOV_EXCL_BR_LINE 7:debug code
197     case INI_TERMCOMP_NONE:
198       return "NONE";
199     case INI_TERMCOMP_ACTIVITYMGR:
200       return "ACTIVITYMGR";
201     case INI_TERMCOMP_RESIDENT:
202       return "RESIDENT";
203     case INI_TERMCOMP_TRANSIENT:
204       // LCOV_EXCL_START 7:debug code
205       AGL_ASSERT_NOT_TESTED();  // LCOV_EXCL_LINE 200: test assert
206       return "TRANSIENT";
207       // LCOV_EXCL_STOP
208     case INI_TERMCOMP_TEST0:
209       // LCOV_EXCL_START 7:debug code
210       AGL_ASSERT_NOT_TESTED();  // LCOV_EXCL_LINE 200: test assert
211       return "TEST0";
212       // LCOV_EXCL_STOP
213     case INI_TERMCOMP_TEST1:
214       // LCOV_EXCL_START 7:debug code
215       AGL_ASSERT_NOT_TESTED();  // LCOV_EXCL_LINE 200: test assert
216       return "TEST1";
217       // LCOV_EXCL_STOP
218     case INI_TERMCOMP_TEST2:
219       // LCOV_EXCL_START 7:debug code
220       AGL_ASSERT_NOT_TESTED();  // LCOV_EXCL_LINE 200: test assert
221       return "TEST2";
222       // LCOV_EXCL_STOP
223     case INI_TERMCOMP_TEST3:
224       // LCOV_EXCL_START 7:debug code
225       AGL_ASSERT_NOT_TESTED();  // LCOV_EXCL_LINE 200: test assert
226       return "TEST3";
227       // LCOV_EXCL_STOP
228   }
229   return "UNKNONW";
230 }
231
232 const char*
233 tskm_convSvcState2Str(TSKM_SVC_STATE_t state) {
234   switch (state) {  // LCOV_EXCL_BR_LINE 7:debug code
235     case TSKM_SVC_DORMANT:
236       // LCOV_EXCL_START 7:debug code
237       AGL_ASSERT_NOT_TESTED();  // LCOV_EXCL_LINE 200: test assert
238       return "DORMANT";
239       // LCOV_EXCL_STOP
240     case TSKM_SVC_WAITCONNECT:
241       // LCOV_EXCL_START 7:debug code
242       AGL_ASSERT_NOT_TESTED();  // LCOV_EXCL_LINE 200: test assert
243       return "WAITCONNECT";
244       // LCOV_EXCL_STOP
245     case TSKM_SVC_WAKEUP:
246       return "WAKEUP";
247     case TSKM_SVC_RUNNING:
248       // LCOV_EXCL_START 7:debug code
249       AGL_ASSERT_NOT_TESTED();  // LCOV_EXCL_LINE 200: test assert
250       return "RUNNING";
251       // LCOV_EXCL_STOP
252     case TSKM_SVC_DOWN:
253       // LCOV_EXCL_START 7:debug code
254       AGL_ASSERT_NOT_TESTED();  // LCOV_EXCL_LINE 200: test assert
255       return "DOWN";
256       // LCOV_EXCL_STOP
257     case TSKM_SVC_FINDOWN:
258       // LCOV_EXCL_START 7:debug code
259       AGL_ASSERT_NOT_TESTED();  // LCOV_EXCL_LINE 200: test assert
260       return "FINDOWN";
261       // LCOV_EXCL_STOP
262     case TSKM_SVC_DISABLE:
263       // LCOV_EXCL_START 7:debug code
264       AGL_ASSERT_NOT_TESTED();  // LCOV_EXCL_LINE 200: test assert
265       return "DISABLE";
266       // LCOV_EXCL_STOP
267     default:
268       break;
269   }
270   return "UNKNONW";
271 }
272
273 TSKM_STATIC void svcDump(TSKM_SVC_CTX_t* p_svc) {
274   TSKM_PRINTF(TSKM_LOG_STATE, "<%s>", p_svc->attr->name);
275   TSKM_PRINTF(TSKM_LOG_STATE, "  pid:%d svcId:%#x state:%s waitResCnt:%d",
276               p_svc->pid, p_svc->attr->svcId,
277               tskm_convSvcState2Str(p_svc->state), p_svc->waitResCnt);
278 }
279
280 void tskm_svcsDump(TSKM_SVCS_CTX_t* p_svcs) {
281   uint32_t ii;
282   for (ii = 0; ii < p_svcs->svcNum; ii++) {
283     svcDump(&p_svcs->svcList[ii]);
284   }
285 }
286