deviceinfo-iopsyswrt: fetch static data from db deviceinfo

This commit is contained in:
Sukru Senli 2020-05-09 16:13:50 +02:00
parent 9b21446772
commit 44682f5fcd

View file

@ -8,7 +8,7 @@ char * os__get_deviceid_manufacturer()
char *v; char *v;
dmuci_get_option_value_string("cwmp","cpe","manufacturer", &v); dmuci_get_option_value_string("cwmp","cpe","manufacturer", &v);
if (v[0] == '\0') { if (v[0] == '\0') {
db_get_value_string("hw", "board", "manufacturer", &v); db_get_value_string("device", "deviceinfo", "Manufacturer", &v);
return v; return v;
} }
return v; return v;
@ -20,7 +20,7 @@ char * os__get_deviceid_productclass()
char *v; char *v;
dmuci_get_option_value_string("cwmp", "cpe", "product_class", &v); dmuci_get_option_value_string("cwmp", "cpe", "product_class", &v);
if (v[0] == '\0') { if (v[0] == '\0') {
db_get_value_string("hw", "board", "iopVerFam", &v); db_get_value_string("device", "deviceinfo", "ProductClass", &v);
return v; return v;
} }
return v; return v;
@ -29,20 +29,20 @@ char * os__get_deviceid_productclass()
char * os__get_deviceid_serialnumber() char * os__get_deviceid_serialnumber()
{ {
char *v; char *v;
db_get_value_string("hw", "board", "serial_number", &v); db_get_value_string("device", "deviceinfo", "SerialNumber", &v);
return v; return v;
} }
char * os__get_softwareversion() char * os__get_softwareversion()
{ {
char *v; char *v;
db_get_value_string("hw", "board", "iopVerTag", &v); db_get_value_string("device", "deviceinfo", "SoftwareVersion", &v);
return v; return v;
} }
int os__get_device_hardwareversion(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) int os__get_device_hardwareversion(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{ {
db_get_value_string("hw", "board", "model_name", value); db_get_value_string("device", "deviceinfo", "HardwareVersion", value);
return 0; return 0;
} }
@ -51,7 +51,7 @@ int os__get_device_modelname(char *refparam, struct dmctx *ctx, void *data, char
{ {
dmuci_get_option_value_string("cwmp", "cpe", "model_name", value); dmuci_get_option_value_string("cwmp", "cpe", "model_name", value);
if (*value[0] == '\0') if (*value[0] == '\0')
db_get_value_string("hw", "board", "model_name", value); db_get_value_string("device", "deviceinfo", "ModelName", value);
return 0; return 0;
} }
@ -60,45 +60,25 @@ int os__get_device_description(char *refparam, struct dmctx *ctx, void *data, ch
{ {
dmuci_get_option_value_string("cwmp", "cpe", "description", value); dmuci_get_option_value_string("cwmp", "cpe", "description", value);
if (*value[0] == '\0') if (*value[0] == '\0')
db_get_value_string("hw", "board", "description", value); db_get_value_string("device", "deviceinfo", "Description", value);
return 0; return 0;
} }
/*#Device.DeviceInfo.ManufacturerOUI!UCI:cwmp/cpe,cpe/manufacturer_oui*/ /*#Device.DeviceInfo.ManufacturerOUI!UCI:cwmp/cpe,cpe/manufacturer_oui*/
char * os__get_deviceid_manufactureroui() char * os__get_deviceid_manufactureroui()
{ {
char *v, *mac = NULL, str[16]; char *v;
json_object *res;
dmuci_get_option_value_string("cwmp", "cpe", "manufacturer_oui", &v); dmuci_get_option_value_string("cwmp", "cpe", "manufacturer_oui", &v);
if (v[0]) if (v[0] == '\0') {
return v; db_get_value_string("device", "deviceinfo", "ManufacturerOUI", &v);
dmubus_call("router.system", "info", UBUS_ARGS{{}}, 0, &res);
if (!(res))
db_get_value_string("hw", "board", "basemac", &mac);
else
mac = dmjson_get_value(res, 1, "basemac");
if(mac) {
size_t ln = strlen(mac);
if (ln < 17) goto not_found;
sscanf (mac,"%2c:%2c:%2c",str,str+2,str+4);
str[6] = '\0';
v = dmstrdup(str); // MEM WILL BE FREED IN DMMEMCLEAN
return v; return v;
} }
return v;
not_found:
return "";
} }
int os__get_base_mac_addr(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) int os__get_base_mac_addr(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{ {
json_object *res; db_get_value_string("device", "deviceinfo", "BaseMACAddress", value);
dmubus_call("router.system", "info", UBUS_ARGS{{}}, 0, &res);
DM_ASSERT(res, *value = "");
*value = dmjson_get_value(res, 1, "basemac");
return 0; return 0;
} }