Merge pull request #453 from fengzeroz/main

feat(driver): write interface
This commit is contained in:
fengzeroz
2022-04-27 15:09:51 +08:00
committed by GitHub
3 changed files with 9 additions and 9 deletions
+1 -1
View File
@@ -100,7 +100,7 @@ typedef struct adapter_callbacks {
struct {
void (*update)(neu_adapter_t *adapter, const char *name,
neu_dvalue_t value);
void (*write_response)(neu_adapter_t *adapter, uint32_t req_id,
void (*write_response)(neu_adapter_t *adapter, void *req,
neu_error error);
} driver;
};
+1 -1
View File
@@ -71,7 +71,7 @@ typedef struct neu_plugin_intf_funs {
struct {
int (*validate_tag)(neu_plugin_t *plugin, neu_datatag_t *tag);
int (*group_timer)(neu_plugin_t *plugin, neu_plugin_group_t *group);
int (*write_tag)(neu_plugin_t *plugin, uint32_t req_id,
int (*write_tag)(neu_plugin_t *plugin, void *req,
neu_datatag_t *tag, neu_value_u value);
} driver;
};
+7 -7
View File
@@ -64,21 +64,21 @@ static void load_tags(neu_adapter_driver_t *driver, neu_taggrp_config_t *group,
static void free_tags(UT_array *tags);
static void update(neu_adapter_t *adapter, const char *name,
neu_dvalue_t value);
static void write_response(neu_adapter_t *adapter, uint32_t req_id,
neu_error error);
static void write_response(neu_adapter_t *adapter, uint32_t req_id,
neu_error error)
static void write_response(neu_adapter_t *adapter, void *r, neu_error error);
static void write_response(neu_adapter_t *adapter, void *r, neu_error error)
{
neu_request_t *req = (neu_request_t *) r;
neu_reqresp_write_resp_t data = {
.grp_config = NULL,
.data_val = neu_datatag_pack_create(1),
};
neu_response_t resp = {
.req_id = req_id,
.req_id = req->req_id,
.resp_type = NEU_REQRESP_WRITE_RESP,
.buf = &data,
.buf_len = sizeof(neu_reqresp_write_resp_t),
.recver_id = 0,
.recver_id = req->sender_id,
};
neu_datatag_pack_add(data.data_val, 0, NEU_DTYPE_ERRORCODE, 0,
@@ -245,7 +245,7 @@ void neu_adapter_driver_process_msg(neu_adapter_driver_t *driver,
driver->adapter.cb_funs.response(&driver->adapter, &resp);
} else {
driver->adapter.plugin_info.module->intf_funs->driver.write_tag(
driver->adapter.plugin_info.plugin, req->req_id, tag, value);
driver->adapter.plugin_info.plugin, (void *) req, tag, value);
}
break;