diff options
Diffstat (limited to 'systemservice/task_manager/client/ss_data_init/tskm_data_init.cpp.in')
-rw-r--r-- | systemservice/task_manager/client/ss_data_init/tskm_data_init.cpp.in | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/systemservice/task_manager/client/ss_data_init/tskm_data_init.cpp.in b/systemservice/task_manager/client/ss_data_init/tskm_data_init.cpp.in new file mode 100644 index 00000000..072a486b --- /dev/null +++ b/systemservice/task_manager/client/ss_data_init/tskm_data_init.cpp.in @@ -0,0 +1,66 @@ +/* + * @copyright Copyright (c) 2019-2020 TOYOTA MOTOR CORPORATION. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include <system_service/tskm_data_init.h> +#include "stdio.h" +#include "libss_data_init_taskmanagerlog.h" + + +#define ZONE_INFO ZONEMASK(29) + +typedef struct{ + const char *serviceName; + EFrameworkunifiedStatus (*dataInitFunc)(T_SS_SM_START_DataStructType *arg); +} FUNC_INFO_t; + +@DATA_INIT_PROT@ + +const FUNC_INFO_t g_funcTbl[] = { + @DATA_INIT_TABLE@ +}; + +static T_SS_SM_START_ExtDataStructType extBootInfo; + +TSKM_ERR_t TSKM_GetExtBootInfo(T_SS_SM_START_ExtDataStructType *p_info){ + TSKM_ERR_t ret = TSKM_E_OK; + + if(NULL == p_info){ + FRAMEWORKUNIFIEDLOG(ZONE_ERR,__FUNCTION__,"p_info = NULL"); + ret = TSKM_E_PAR; + }else{ + memcpy(p_info, &extBootInfo, sizeof(*p_info)); + } + + return ret; +} + +void tskm_dataInitAll(T_SS_SM_START_DataStructType *arg, T_SS_SM_START_ExtDataStructType *extArg){ + int i; + int itemNum = sizeof(g_funcTbl)/sizeof(FUNC_INFO_t) - 1; + + memcpy(&extBootInfo, extArg, sizeof(extBootInfo)); + + // LCOV_EXCL_START 10: Depends on reference information when building software + for(i=0;i<itemNum;i++){ + FRAMEWORKUNIFIEDLOG(ZONE_INFO,__FUNCTION__,"call datainit for %s",g_funcTbl[i].serviceName); + g_funcTbl[i].dataInitFunc(arg); + } + // LCOV_EXCL_STOP + + return; +} // LCOV_EXCL_BR_LINE 10: Final line + + |