From 71156fd4aaa5f18ba9f95f9f08bc930a321e257c Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期一, 16 一月 2023 11:26:58 +0800
Subject: [PATCH] 完善摄像机接口, 增加实时轮询参数

---
 util.h |   22 ++++++++++++++++++----
 1 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/util.h b/util.h
index 9e643b7..3cd6741 100644
--- a/util.h
+++ b/util.h
@@ -32,15 +32,14 @@
 
 bool bus_dbapi_get(void *handle, const char *topic, google::protobuf::Message &message);
 bool bus_dbapi_get_topic_data(void *handle, const char *topic, crepmsg **pptr_repmsg, size_t len);
-extern "C" int bus_dbapi_get_json_data_by_key(const char * json, const char *flag_key,
-                                                          const char *data_key, char ** pptr_data,
-                                                          yyjson_type *ptr_type);
+bool bus_dbapi_get_topic_data(void *handle, const char *topic, crepmsg **pptr_repmsg, size_t len, std::map<string, string> &params);
+extern "C" int bus_dbapi_get_json_data_by_key(const char *json, const char *flag_key, const char *data_key, char **pptr_data, yyjson_type *ptr_type);
 extern "C" int bus_dbapi_get_json_data(const char *json, char **pptr_data, uint8_t *ptr_type);
 bool bus_dbapi_get_str(void *handle, const char *topic, char **pptr_str);
 int get_value_by_key(char *json, const char *key, char **pptr_data);
 
 template <class T>
-bool bus_dbapi_get_list(char      *json, const char *flag_key, const char *data_key, T &list) {
+bool bus_dbapi_get_list(char *json, const char *flag_key, const char *data_key, T &list) {
     char *ptr_value = NULL;
     size_t data_len = 0;
     //get the topic json data
@@ -120,4 +119,19 @@
     return iRet;
 }
 
+template <class T>
+bool bus_dbapi_get_list(void *handle, const char *topic, T &list, std::map<string, string> &params) {
+    crepmsg *repmsg = NULL;
+    size_t len = 0;
+    bool iRet = false;
+    iRet = bus_dbapi_get_topic_data(handle, topic, &repmsg, len, params);
+    if ((false == iRet) || (NULL == repmsg)) {
+        return false;
+    }
+
+    iRet = bus_dbapi_get_list(repmsg->data, list);
+    free_reply_msg(repmsg);
+    return iRet;
+}
+
 #endif
\ No newline at end of file

--
Gitblit v1.8.0