mirror of
https://dev.iopsys.eu/bbf/bbfdm.git
synced 2026-02-06 20:10:43 +01:00
Add entry get_value function for full path parameter
This commit is contained in:
parent
55ee5403eb
commit
69a7acef3f
4 changed files with 36 additions and 1 deletions
13
dmentry.c
13
dmentry.c
|
|
@ -193,6 +193,19 @@ int dm_ctx_clean_sub(struct dmctx *ctx)
|
|||
return 0;
|
||||
}
|
||||
|
||||
int dmentry_get_parameter_leaf_value(struct dmctx *ctx, int cmd, char *inparam)
|
||||
{
|
||||
int err = 0, fault = 0;
|
||||
bool setnotif = true;
|
||||
if (!inparam) inparam = "";
|
||||
ctx->in_param = inparam;
|
||||
|
||||
if (ctx->dm_type == DM_CWMP && ctx->in_param[0] == dm_delim && strlen(ctx->in_param) == 1)
|
||||
fault = FAULT_9005;
|
||||
else
|
||||
fault = dm_entry_get_full_param_value(ctx);
|
||||
}
|
||||
|
||||
int dm_entry_param_method(struct dmctx *ctx, int cmd, char *inparam, char *arg1, char *arg2)
|
||||
{
|
||||
int err = 0, fault = 0;
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ void dm_execute_cli_shell(int argc, char** argv, unsigned int dmtype, unsigned i
|
|||
void dm_execute_cli_command(char *file, unsigned int dmtype, unsigned int amd_version, unsigned int instance_mode);
|
||||
void wepkey_cli(int argc, char** argv);
|
||||
int free_dynamic_arrays(void);
|
||||
|
||||
int dmentry_get_parameter_leaf_value(struct dmctx *ctx, int cmd, char *inparam);
|
||||
#ifdef BBF_TR064
|
||||
#define DM_ENTRY_UPNP_CHECK_CHANGES() \
|
||||
do { \
|
||||
|
|
|
|||
|
|
@ -1169,6 +1169,27 @@ void dmentry_instance_lookup_inparam(struct dmctx *ctx)
|
|||
/* **********
|
||||
* get value
|
||||
* **********/
|
||||
|
||||
int dm_entry_get_full_param_value(struct dmctx *dmctx)
|
||||
{
|
||||
int err = 0;
|
||||
unsigned char findparam_check = 0;
|
||||
DMOBJ *root = dmctx->dm_entryobj;
|
||||
DMNODE node = {.current_object = ""};
|
||||
dmctx->inparam_isparam = 1;
|
||||
dmctx->findparam = 0;
|
||||
dmctx->stop = 0;
|
||||
dmctx->checkobj = plugin_obj_match;
|
||||
dmctx->checkleaf = plugin_leaf_match;
|
||||
dmctx->method_obj = mobj_get_value_in_param;
|
||||
dmctx->method_param = mparam_get_value_in_param;
|
||||
err = dm_browse(dmctx, &node, root, NULL, NULL);
|
||||
if (findparam_check && dmctx->findparam)
|
||||
return 0;
|
||||
else
|
||||
return err;
|
||||
}
|
||||
|
||||
int dm_entry_get_value(struct dmctx *dmctx)
|
||||
{
|
||||
int err = 0;
|
||||
|
|
|
|||
|
|
@ -600,6 +600,7 @@ char *dm_print_path(char *fpath, ...);
|
|||
int dm_link_inst_obj(struct dmctx *dmctx, DMNODE *parent_node, void *data, char *instance);
|
||||
void dm_check_dynamic_obj(struct dmctx *dmctx, DMNODE *parent_node, DMOBJ *entryobj, char *full_obj, char *obj, DMOBJ **root_entry, int *obj_found);
|
||||
int free_dm_browse_node_dynamic_object_tree(DMNODE *parent_node, DMOBJ *entryobj);
|
||||
int dm_entry_get_full_param_value(struct dmctx *dmctx);
|
||||
#ifdef BBF_TR064
|
||||
void dm_upnp_apply_config(void);
|
||||
void add_list_upnp_param_track(struct dmctx *dmctx, struct list_head *pchead, char *param, char *key, char *value, unsigned int isobj);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue