Skip to content
Snippets Groups Projects

Data Model: Align with new reference APIs

Merged Amin Ben Romdhane requested to merge reference_apis into devel
1 file
+ 11
38
Compare changes
  • Side-by-side
  • Inline
+ 11
38
@@ -381,30 +381,15 @@ static int get_QInterface(char *refparam, struct dmctx *ctx, void *data, char *i
{
char *linker = NULL;
char buf[4096] = {0};
int pos = 0;
dmuci_get_value_by_section_string(((struct dm_data *)data)->config_section, "ifname", &linker);
if (DM_STRLEN(linker) == 0)
return 0;
bbf_get_reference_param("Device.IP.Interface.", "Name", linker, value);
if (DM_STRLEN(*value))
pos += snprintf(&buf[pos], sizeof(buf) - pos, "%s,", *value);
bbf_get_reference_param("Device.PPP.Interface.", "Name", linker, value);
if (DM_STRLEN(*value))
pos += snprintf(&buf[pos], sizeof(buf) - pos, "%s,", *value);
bbf_get_reference_param("Device.Ethernet.Interface.", "Name", linker, value);
if (DM_STRLEN(*value))
pos += snprintf(&buf[pos], sizeof(buf) - pos, "%s,", *value);
bbf_get_reference_param("Device.WiFi.Radio.", "Name", linker, value);
if (DM_STRLEN(*value))
pos += snprintf(&buf[pos], sizeof(buf) - pos, "%s,", *value);
if (pos)
buf[pos - 1] = 0;
bbfdm_get_references(ctx, MATCH_FIRST, "Device.IP.Interface.", "Name", linker, buf, sizeof(buf));
bbfdm_get_references(ctx, MATCH_FIRST, "Device.PPP.Interface.", "Name", linker, buf, sizeof(buf));
bbfdm_get_references(ctx, MATCH_FIRST, "Device.Ethernet.Interface.", "Name", linker, buf, sizeof(buf));
bbfdm_get_references(ctx, MATCH_FIRST, "Device.WiFi.Radio.", "Name", linker, buf, sizeof(buf));
*value = dmstrdup(buf);
return 0;
@@ -420,7 +405,7 @@ static int set_QInterface(char *refparam, struct dmctx *ctx, void *data, char *i
NULL};
struct dm_reference reference = {0};
bbf_get_reference_args(value, &reference);
bbfdm_get_reference_linker(ctx, value, &reference);
switch (action) {
case VALUECHECK:
@@ -1734,7 +1719,7 @@ static int get_QoSQueueStats_Queue(char *refparam, struct dmctx *ctx, void *data
char *queue_link = NULL;
dmuci_get_value_by_section_string((struct uci_section *)data, "queue", &queue_link);
bbf_get_reference_param("Device.QoS.Queue.", "Alias", queue_link, value);
_bbfdm_get_references(ctx, "Device.QoS.Queue.", "Alias", queue_link, value);
return 0;
}
@@ -1743,7 +1728,7 @@ static int set_QoSQueueStats_Queue(char *refparam, struct dmctx *ctx, void *data
char *allowed_objects[] = {"Device.QoS.Queue.", NULL};
struct dm_reference reference = {0};
bbf_get_reference_args(value, &reference);
bbfdm_get_reference_linker(ctx, value, &reference);
switch (action) {
case VALUECHECK:
@@ -1765,26 +1750,14 @@ static int get_QoSQueueStats_Interface(char *refparam, struct dmctx *ctx, void *
{
char *linker = NULL;
char buf[4096] = {0};
int pos = 0;
dmuci_get_value_by_section_string((struct uci_section *)data, "interface", &linker);
if (DM_STRLEN(linker) == 0)
return 0;
bbf_get_reference_param("Device.Ethernet.Interface.", "Name", linker, value);
if (DM_STRLEN(*value))
pos += snprintf(&buf[pos], sizeof(buf) - pos, "%s,", *value);
bbf_get_reference_param("Device.IP.Interface.", "Name", linker, value);
if (DM_STRLEN(*value))
pos += snprintf(&buf[pos], sizeof(buf) - pos, "%s,", *value);
bbf_get_reference_param("Device.PPP.Interface.", "Name", linker, value);
if (DM_STRLEN(*value))
pos += snprintf(&buf[pos], sizeof(buf) - pos, "%s,", *value);
if (pos)
buf[pos - 1] = 0;
bbfdm_get_references(ctx, MATCH_FIRST, "Device.Ethernet.Interface.", "Name", linker, buf, sizeof(buf));
bbfdm_get_references(ctx, MATCH_FIRST, "Device.IP.Interface.", "Name", linker, buf, sizeof(buf));
bbfdm_get_references(ctx, MATCH_FIRST, "Device.PPP.Interface.", "Name", linker, buf, sizeof(buf));
*value = dmstrdup(buf);
return 0;
@@ -1799,7 +1772,7 @@ static int set_QoSQueueStats_Interface(char *refparam, struct dmctx *ctx, void *
NULL};
struct dm_reference reference = {0};
bbf_get_reference_args(value, &reference);
bbfdm_get_reference_linker(ctx, value, &reference);
switch (action) {
case VALUECHECK:
Loading