static qeo_retcode_t fwd_server_instance_remove(const qeo_factory_t *factory) { qeo_retcode_t rc = QEO_EFAIL; org_qeo_system_Forwarder_t fwd_data = {}; fwd_data.deviceId = factory->qeo_id.device_id; rc = qeocore_writer_remove(factory->fwd.u.server.writer, &fwd_data); return rc; }
qeo_retcode_t qeo_state_writer_remove(const qeo_state_writer_t *writer, const void *data) { qeocore_writer_t *w = (qeocore_writer_t *)writer; qeo_retcode_t rc = QEO_OK; if ((NULL == w) || (NULL == data)) { rc = QEO_EINVAL; } else { rc = qeocore_writer_remove(w, data); } return rc; }
qeo_retcode_t qeo_json_state_writer_remove(const qeo_json_state_writer_t *writer, const char *json_data) { qeo_retcode_t result = QEO_EINVAL; qeojson_writer_t *jsonwriter = (qeojson_writer_t *) writer; json_t *jsonData = json_loads(json_data, 0, NULL); if ((NULL != jsonData) && (NULL != writer)) { json_writer_dispatcher_cookie_t *dc = (json_writer_dispatcher_cookie_t *)qeocore_writer_get_userdata(jsonwriter->writer); qeocore_data_t *data = qeocore_writer_data_new(jsonwriter->writer); if (QEO_OK == data_from_json(dc->typedesc, jsonData, data)) { result = qeocore_writer_remove(jsonwriter->writer, data); } qeocore_data_free(data); json_decref(jsonData); } return result; }
int main(int argc, const char **argv) { qeo_factory_t *factory; qeocore_reader_t *reader; qeocore_writer_t *writer; qeocore_type_t *type; qeocore_data_t *rdata, *wdata; int i; for (i = 0; i < 2; i++) { /* initialize */ assert(NULL != (factory = qeocore_factory_new(QEO_IDENTITY_DEFAULT))); init_factory(factory); assert(NULL != (type = nested_type_get(1, 0, 0))); assert(QEO_OK == qeocore_type_register(factory, type, "nested")); assert(NULL != (reader = qeocore_reader_open(factory, type, NULL, QEOCORE_EFLAG_STATE_UPDATE | QEOCORE_EFLAG_ENABLE, NULL, NULL))); assert(NULL != (writer = qeocore_writer_open(factory, type, NULL, QEOCORE_EFLAG_STATE_UPDATE | QEOCORE_EFLAG_ENABLE, NULL, NULL))); /* write */ assert(NULL != (wdata = qeocore_writer_data_new(writer))); fill_data(wdata); assert(QEO_OK == qeocore_writer_write(writer, wdata)); /* check data */ assert(NULL != (rdata = qeocore_reader_data_new(reader))); assert(QEO_OK == qeocore_reader_read(reader, NULL, rdata)); expected_status = QEOCORE_DATA; validate_data(rdata); /* remove */ assert(QEO_OK == qeocore_writer_remove(writer, wdata)); /* clean up */ qeocore_data_free(wdata); qeocore_data_free(rdata); qeocore_writer_close(writer); qeocore_reader_close(reader); qeocore_type_free(type); qeocore_factory_close(factory); } }