diff --git a/src/datamodel.c b/src/datamodel.c index be99ac01a79665b8f70b4712c109b3ba44ba38cf..9b64de4883a9d4f8badb71462f1d7bd3740b4da6 100644 --- a/src/datamodel.c +++ b/src/datamodel.c @@ -67,54 +67,6 @@ static int browseSoftwareModulesExecutionUnitInst(struct dmctx *dmctx, DMNODE *p return 0; } -/************************************************************* -* LINKER FUNCTIONS -*************************************************************/ -static int get_linker_eu(char *refparam, struct dmctx *dmctx, void *data, char *instance, char **linker) -{ - char *ee_name = NULL, *eu_name = NULL; - - ee_name = dmjson_get_value((json_object *)data, 1, "ee_name"); - eu_name = dmjson_get_value((json_object *)data, 1, "eu_name"); - if (ee_name == NULL) - ee_name = ""; - - if (eu_name == NULL) - eu_name = ""; - - dmasprintf(linker, "%.32s%.32s", ee_name, eu_name); - - return 0; -} - -/************************************************************* -* COMMON FUNCTIONS -**************************************************************/ -#if 0 -static int get_SoftwareModules_VendorConfigList(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) -{ - struct uci_section *s = NULL; - dmasprintf(value, ""); - - char *config = dmjson_get_value((json_object *)data, 1, "config"); - if (config == NULL || *config == '\0') - return 0; - - uci_path_foreach_sections(bbfdm, DMMAP, "vcf", s) { - char *name = NULL; - - dmuci_get_value_by_section_string(s, "name", &name); - if (name && strcmp(name, config) == 0) { - char *vcf_instance; - dmuci_get_value_by_section_string(s, "vcf_instance", &vcf_instance); - dmasprintf(value, "Device.DeviceInfo.VendorConfigFile.%s", vcf_instance); - break; - } - } - return 0; -} -#endif - /************************************************************* * GET & SET PARAM *************************************************************/ @@ -546,11 +498,7 @@ static int get_SoftwareModulesDeploymentUnit_ExecutionUnitList(char *refparam, s snprintf(eu_label, sizeof(eu_label), "%.32s%.32s", ee ? ee : "", eu ? eu : ""); - char *linker = NULL; - adm_entry_get_linker_param(ctx, "Device.SoftwareModules.ExecutionUnit.", eu_label, &linker); - if (DM_STRLEN(linker) != 0) - dmasprintf(value, "%s", linker); - + adm_entry_get_linker_param(ctx, "Device.SoftwareModules.ExecutionUnit.*.ExecEnvLabel", eu_label, value); return 0; } @@ -772,11 +720,7 @@ static int get_SoftwareModulesExecutionUnit_AssociatedProcessList(char *refparam if (DM_STRLEN(euid) == 0 || DM_STRCMP(euid, "Unknown") == 0) return 0; - char *linker = NULL; - adm_entry_get_linker_param(ctx, "Device.DeviceInfo.ProcessStatus.", euid, &linker); - if (DM_STRLEN(linker) != 0) - dmasprintf(value, "%s", linker); - + adm_entry_get_reference_param(ctx, "Device.DeviceInfo.ProcessStatus.Process.*.PID", euid, value); return 0; } @@ -1016,9 +960,9 @@ DMOBJ tSWmodObj[] = { /* *** Device.SoftwareModules. *** */ DMOBJ tSoftwareModulesObj[] = { /* OBJ, permission, addobj, delobj, checkdep, browseinstobj, nextdynamicobj, dynamicleaf, nextobj, leaf, linker, bbfdm_type, uniqueKeys*/ -{"ExecEnv", &DMREAD, NULL, NULL, NULL, browseSoftwareModulesExecEnvInst, NULL, NULL, NULL, tSoftwareModulesExecEnvParams, NULL, BBFDM_BOTH, LIST_KEY{"Alias", "Name", NULL}}, -{"DeploymentUnit", &DMREAD, NULL, NULL, NULL, browseSoftwareModulesDeploymentUnitInst, NULL, NULL, NULL, tSoftwareModulesDeploymentUnitParams, NULL, BBFDM_BOTH, LIST_KEY{"UUID", "Version", "ExecutionEnvRef", "Alias", NULL}}, -{"ExecutionUnit", &DMREAD, NULL, NULL, NULL, browseSoftwareModulesExecutionUnitInst, NULL, NULL, NULL, tSoftwareModulesExecutionUnitParams, get_linker_eu, BBFDM_BOTH, LIST_KEY{"EUID", "Alias", NULL}}, +{"ExecEnv", &DMREAD, NULL, NULL, NULL, browseSoftwareModulesExecEnvInst, NULL, NULL, NULL, tSoftwareModulesExecEnvParams, NULL, BBFDM_BOTH, NULL}, +{"DeploymentUnit", &DMREAD, NULL, NULL, NULL, browseSoftwareModulesDeploymentUnitInst, NULL, NULL, NULL, tSoftwareModulesDeploymentUnitParams, NULL, BBFDM_BOTH, NULL}, +{"ExecutionUnit", &DMREAD, NULL, NULL, NULL, browseSoftwareModulesExecutionUnitInst, NULL, NULL, NULL, tSoftwareModulesExecutionUnitParams, NULL, BBFDM_BOTH, NULL}, {0} }; @@ -1038,8 +982,8 @@ DMLEAF tSoftwareModulesExecEnvParams[] = { {"Enable", &DMWRITE, DMT_BOOL, get_SoftwareModulesExecEnv_Enable, set_SoftwareModulesExecEnv_Enable, BBFDM_BOTH}, {"Status", &DMREAD, DMT_STRING, get_SoftwareModulesExecEnv_Status, NULL, BBFDM_BOTH}, {"Reset", &DMWRITE, DMT_BOOL, get_SoftwareModulesExecEnv_Reset, set_SoftwareModulesExecEnv_Reset, BBFDM_CWMP}, -{"Alias", &DMWRITE, DMT_STRING, get_SoftwareModulesExecEnv_Alias, set_SoftwareModulesExecEnv_Alias, BBFDM_BOTH}, -{"Name", &DMREAD, DMT_STRING, get_SoftwareModulesExecEnv_Name, NULL, BBFDM_BOTH}, +{"Alias", &DMWRITE, DMT_STRING, get_SoftwareModulesExecEnv_Alias, set_SoftwareModulesExecEnv_Alias, BBFDM_BOTH, DM_FLAG_UNIQUE}, +{"Name", &DMREAD, DMT_STRING, get_SoftwareModulesExecEnv_Name, NULL, BBFDM_BOTH, DM_FLAG_UNIQUE}, {"Type", &DMREAD, DMT_STRING, get_SoftwareModulesExecEnv_Type, NULL, BBFDM_BOTH}, {"InitialRunLevel", &DMWRITE, DMT_UNINT, get_SoftwareModulesExecEnv_InitialRunLevel, set_SoftwareModulesExecEnv_InitialRunLevel, BBFDM_BOTH}, {"RequestedRunLevel", &DMWRITE, DMT_INT, get_SoftwareModulesExecEnv_RequestedRunLevel, set_SoftwareModulesExecEnv_RequestedRunLevel, BBFDM_CWMP}, @@ -1047,7 +991,7 @@ DMLEAF tSoftwareModulesExecEnvParams[] = { {"InitialExecutionUnitRunLevel", &DMWRITE, DMT_INT, get_SoftwareModulesExecEnv_InitialExecutionUnitRunLevel, set_SoftwareModulesExecEnv_InitialExecutionUnitRunLevel, BBFDM_BOTH}, {"Vendor", &DMREAD, DMT_STRING, get_SoftwareModulesExecEnv_Vendor, NULL, BBFDM_BOTH}, {"Version", &DMREAD, DMT_STRING, get_SoftwareModulesExecEnv_Version, NULL, BBFDM_BOTH}, -{"ParentExecEnv", &DMREAD, DMT_STRING, get_SoftwareModulesExecEnv_ParentExecEnv, NULL, BBFDM_BOTH}, +{"ParentExecEnv", &DMREAD, DMT_STRING, get_SoftwareModulesExecEnv_ParentExecEnv, NULL, BBFDM_BOTH, DM_FLAG_REFERENCE}, {"AllocatedDiskSpace", &DMREAD, DMT_INT, get_SoftwareModulesExecEnv_AllocatedDiskSpace, NULL, BBFDM_BOTH}, {"AvailableDiskSpace", &DMREAD, DMT_INT, get_SoftwareModulesExecEnv_AvailableDiskSpace, NULL, BBFDM_BOTH}, {"AllocatedMemory", &DMREAD, DMT_INT, get_SoftwareModulesExecEnv_AllocatedMemory, NULL, BBFDM_BOTH}, @@ -1062,20 +1006,20 @@ DMLEAF tSoftwareModulesExecEnvParams[] = { /* *** Device.SoftwareModules.DeploymentUnit.{i}. *** */ DMLEAF tSoftwareModulesDeploymentUnitParams[] = { /* PARAM, permission, type, getvalue, setvalue, bbfdm_type*/ -{"UUID", &DMREAD, DMT_STRING, get_SoftwareModulesDeploymentUnit_UUID, NULL, BBFDM_BOTH}, +{"UUID", &DMREAD, DMT_STRING, get_SoftwareModulesDeploymentUnit_UUID, NULL, BBFDM_BOTH, DM_FLAG_UNIQUE}, {"DUID", &DMREAD, DMT_STRING, get_SoftwareModulesDeploymentUnit_DUID, NULL, BBFDM_BOTH}, -{"Alias", &DMWRITE, DMT_STRING, get_SoftwareModulesDeploymentUnit_Alias, set_SoftwareModulesDeploymentUnit_Alias, BBFDM_BOTH}, +{"Alias", &DMWRITE, DMT_STRING, get_SoftwareModulesDeploymentUnit_Alias, set_SoftwareModulesDeploymentUnit_Alias, BBFDM_BOTH, DM_FLAG_UNIQUE}, {"Name", &DMREAD, DMT_STRING, get_SoftwareModulesDeploymentUnit_Name, NULL, BBFDM_BOTH}, {"Status", &DMREAD, DMT_STRING, get_SoftwareModulesDeploymentUnit_Status, NULL, BBFDM_BOTH}, {"Resolved", &DMREAD, DMT_BOOL, get_SoftwareModulesDeploymentUnit_Resolved, NULL, BBFDM_BOTH}, {"URL", &DMREAD, DMT_STRING, get_SoftwareModulesDeploymentUnit_URL, NULL, BBFDM_BOTH}, {"Description", &DMREAD, DMT_STRING, get_SoftwareModulesDeploymentUnit_Description, NULL, BBFDM_BOTH}, {"Vendor", &DMREAD, DMT_STRING, get_SoftwareModulesDeploymentUnit_Vendor, NULL, BBFDM_BOTH}, -{"Version", &DMREAD, DMT_STRING, get_SoftwareModulesDeploymentUnit_Version, NULL, BBFDM_BOTH}, -{"VendorLogList", &DMREAD, DMT_STRING, get_SoftwareModulesDeploymentUnit_VendorLogList, NULL, BBFDM_BOTH}, -{"VendorConfigList", &DMREAD, DMT_STRING, get_SoftwareModulesDeploymentUnit_VendorConfigList, NULL, BBFDM_BOTH}, -{"ExecutionUnitList", &DMREAD, DMT_STRING, get_SoftwareModulesDeploymentUnit_ExecutionUnitList, NULL, BBFDM_BOTH}, -{"ExecutionEnvRef", &DMREAD, DMT_STRING, get_SoftwareModulesDeploymentUnit_ExecutionEnvRef, NULL, BBFDM_BOTH}, +{"Version", &DMREAD, DMT_STRING, get_SoftwareModulesDeploymentUnit_Version, NULL, BBFDM_BOTH, DM_FLAG_UNIQUE}, +{"VendorLogList", &DMREAD, DMT_STRING, get_SoftwareModulesDeploymentUnit_VendorLogList, NULL, BBFDM_BOTH, DM_FLAG_REFERENCE}, +{"VendorConfigList", &DMREAD, DMT_STRING, get_SoftwareModulesDeploymentUnit_VendorConfigList, NULL, BBFDM_BOTH, DM_FLAG_REFERENCE}, +{"ExecutionUnitList", &DMREAD, DMT_STRING, get_SoftwareModulesDeploymentUnit_ExecutionUnitList, NULL, BBFDM_BOTH, DM_FLAG_REFERENCE}, +{"ExecutionEnvRef", &DMREAD, DMT_STRING, get_SoftwareModulesDeploymentUnit_ExecutionEnvRef, NULL, BBFDM_BOTH, DM_FLAG_UNIQUE|DM_FLAG_REFERENCE}, //{"Update()", &DMASYNC, DMT_COMMAND, get_operate_args_SoftwareModulesDeploymentUnit_Update, operate_SoftwareModulesDeploymentUnit_Update, BBFDM_USP}, {"Uninstall()", &DMASYNC, DMT_COMMAND, NULL, operate_SoftwareModulesDeploymentUnit_Uninstall, BBFDM_USP}, {0} @@ -1083,10 +1027,10 @@ DMLEAF tSoftwareModulesDeploymentUnitParams[] = { DMLEAF tSoftwareModulesExecutionUnitParams[] = { /* PARAM, permission, type, getvalue, setvalue, bbfdm_type*/ -{"EUID", &DMREAD, DMT_STRING, get_SoftwareModulesExecutionUnit_EUID, NULL, BBFDM_BOTH}, -{"Alias", &DMWRITE, DMT_STRING, get_SoftwareModulesExecutionUnit_Alias, set_SoftwareModulesExecutionUnit_Alias, BBFDM_BOTH}, +{"EUID", &DMREAD, DMT_STRING, get_SoftwareModulesExecutionUnit_EUID, NULL, BBFDM_BOTH, DM_FLAG_UNIQUE}, +{"Alias", &DMWRITE, DMT_STRING, get_SoftwareModulesExecutionUnit_Alias, set_SoftwareModulesExecutionUnit_Alias, BBFDM_BOTH, DM_FLAG_UNIQUE}, {"Name", &DMREAD, DMT_STRING, get_SoftwareModulesExecutionUnit_Name, NULL, BBFDM_BOTH}, -{"ExecEnvLabel", &DMREAD, DMT_STRING, get_SoftwareModulesExecutionUnit_ExecEnvLabel, NULL, BBFDM_BOTH}, +{"ExecEnvLabel", &DMREAD, DMT_STRING, get_SoftwareModulesExecutionUnit_ExecEnvLabel, NULL, BBFDM_BOTH, DM_FLAG_LINKER}, {"Status", &DMREAD, DMT_STRING, get_SoftwareModulesExecutionUnit_Status, NULL, BBFDM_BOTH}, {"RequestedState", &DMWRITE, DMT_STRING, get_empty, set_SoftwareModulesExecutionUnit_RequestedState, BBFDM_CWMP}, {"ExecutionFaultCode", &DMREAD, DMT_STRING, get_SoftwareModulesExecutionUnit_ExecutionFaultCode, NULL, BBFDM_BOTH}, @@ -1099,11 +1043,11 @@ DMLEAF tSoftwareModulesExecutionUnitParams[] = { {"DiskSpaceInUse", &DMREAD, DMT_INT, get_SoftwareModulesExecutionUnit_DiskSpaceInUse, NULL, BBFDM_BOTH}, {"MemoryInUse", &DMREAD, DMT_INT, get_SoftwareModulesExecutionUnit_MemoryInUse, NULL, BBFDM_BOTH}, //{"References", &DMREAD, DMT_STRING, get_SoftwareModulesExecutionUnit_References, NULL, BBFDM_BOTH}, -{"AssociatedProcessList", &DMREAD, DMT_STRING, get_SoftwareModulesExecutionUnit_AssociatedProcessList, NULL, BBFDM_BOTH}, -{"VendorLogList", &DMREAD, DMT_STRING, get_SoftwareModulesExecutionUnit_VendorLogList, NULL, BBFDM_BOTH}, -{"VendorConfigList", &DMREAD, DMT_STRING, get_SoftwareModulesExecutionUnit_VendorConfigList, NULL, BBFDM_BOTH}, -//{"SupportedDataModelList", &DMREAD, DMT_STRING, get_SoftwareModulesExecutionUnit_SupportedDataModelList, NULL, BBFDM_CWMP}, -{"ExecutionEnvRef", &DMREAD, DMT_STRING, get_SoftwareModulesExecutionUnit_ExecutionEnvRef, NULL, BBFDM_BOTH}, +{"AssociatedProcessList", &DMREAD, DMT_STRING, get_SoftwareModulesExecutionUnit_AssociatedProcessList, NULL, BBFDM_BOTH, DM_FLAG_REFERENCE}, +{"VendorLogList", &DMREAD, DMT_STRING, get_SoftwareModulesExecutionUnit_VendorLogList, NULL, BBFDM_BOTH, DM_FLAG_REFERENCE}, +{"VendorConfigList", &DMREAD, DMT_STRING, get_SoftwareModulesExecutionUnit_VendorConfigList, NULL, BBFDM_BOTH, DM_FLAG_REFERENCE}, +//{"SupportedDataModelList", &DMREAD, DMT_STRING, get_SoftwareModulesExecutionUnit_SupportedDataModelList, NULL, BBFDM_CWMP, DM_FLAG_REFERENCE}, +{"ExecutionEnvRef", &DMREAD, DMT_STRING, get_SoftwareModulesExecutionUnit_ExecutionEnvRef, NULL, BBFDM_BOTH, DM_FLAG_REFERENCE}, {"SetRequestedState()", &DMSYNC, DMT_COMMAND, get_operate_args_SoftwareModulesExecutionUnit_SetRequestedState, operate_SoftwareModulesExecutionUnit_SetRequestedState, BBFDM_USP}, {0} };