From ca319178f45ce6256aed7913565d445571f6db22 Mon Sep 17 00:00:00 2001
From: lichao <lichao@aiotlink.com>
Date: 星期二, 20 四月 2021 11:04:07 +0800
Subject: [PATCH] add go api, wrap C api, not finished.

---
 src/bh_api.h |  119 ++++++++++++++++++++++++++++++++---------------------------
 1 files changed, 65 insertions(+), 54 deletions(-)

diff --git a/src/bh_api.h b/src/bh_api.h
index eeb47a5..39b4cc6 100644
--- a/src/bh_api.h
+++ b/src/bh_api.h
@@ -5,26 +5,36 @@
 extern "C" {
 #endif
 
-struct BHSrcInfo;
-struct BHServerCallbackTag;
+typedef int (*FBHApiIn1Out1)(const void *proc_info,
+                             const int proc_info_len,
+                             void **reply,
+                             int *reply_len,
+                             const int timeout_ms);
 
-bool BHRegister(const void *proc_info,
-                const int proc_info_len,
-                void **reply,
-                int *reply_len,
-                const int timeout_ms);
-
-bool BHRegisterTopics(const void *topics,
-                      const int topics_len,
+int BHApiIn1Out1Proxy(FBHApiIn1Out1 func,
+                      const void *request,
+                      const int request_len,
                       void **reply,
                       int *reply_len,
                       const int timeout_ms);
 
-bool BHSubscribeTopics(const void *topics,
-                       const int topics_len,
-                       void **reply,
-                       int *reply_len,
-                       const int timeout_ms);
+int BHRegister(const void *proc_info,
+               const int proc_info_len,
+               void **reply,
+               int *reply_len,
+               const int timeout_ms);
+
+int BHRegisterTopics(const void *topics,
+                     const int topics_len,
+                     void **reply,
+                     int *reply_len,
+                     const int timeout_ms);
+
+int BHSubscribeTopics(const void *topics,
+                      const int topics_len,
+                      void **reply,
+                      int *reply_len,
+                      const int timeout_ms);
 
 typedef void (*FSubDataCallback)(const void *proc_id,
                                  const int proc_id_len,
@@ -35,7 +45,7 @@
                                 const int proc_id_len,
                                 const void *data,
                                 const int data_len,
-                                BHServerCallbackTag *tag);
+                                const void *tag);
 
 typedef void (*FClientCallback)(const void *proc_id,
                                 const int proc_id_len,
@@ -45,56 +55,57 @@
                                 const int data_len);
 
 void BHStartWorker(FServerCallback server_cb, FSubDataCallback sub_cb, FClientCallback client_cb);
-bool BHServerCallbackReply(const BHServerCallbackTag *tag,
-                           const void *data,
-                           const int data_len);
 
-bool BHHeartBeatEasy(const int timeout_ms);
-bool BHHeartBeat(const void *proc_info,
-                 const int proc_info_len,
-                 void **reply,
-                 int *reply_len,
-                 const int timeout_ms);
+int BHServerCallbackReply(const void *tag,
+                          const void *data,
+                          const int data_len);
 
-bool BHPublish(const void *msgpub,
-               const int msgpub_len,
-               const int timeout_ms);
+int BHHeartbeatEasy(const int timeout_ms);
+int BHHeartbeat(const void *proc_info,
+                const int proc_info_len,
+                void **reply,
+                int *reply_len,
+                const int timeout_ms);
 
-bool BHReadSub(const void *proc_id,
-               const int proc_id_len,
-               void **msgpub,
-               int *msgpub_len,
-               const int timeout_ms);
+int BHPublish(const void *msgpub,
+              const int msgpub_len,
+              const int timeout_ms);
 
-bool BHAsyncRequest(const void *request,
-                    const int request_len,
-                    void **msg_id,
-                    int *msg_id_len);
+int BHReadSub(void **proc_id,
+              int *proc_id_len,
+              void **msgpub,
+              int *msgpub_len,
+              const int timeout_ms);
 
-bool BHRequest(const void *request,
-               const int request_len,
-               void **proc_id,
-               int *proc_id_len,
-               void **reply,
-               int *reply_len,
-               const int timeout_ms);
+int BHAsyncRequest(const void *request,
+                   const int request_len,
+                   void **msg_id,
+                   int *msg_id_len);
 
-bool BHReadRequest(void **proc_id,
-                   int *proc_id_len,
-                   void **request,
-                   int *request_len,
-                   BHSrcInfo **src,
-                   const int timeout_ms);
+int BHRequest(const void *request,
+              const int request_len,
+              void **proc_id,
+              int *proc_id_len,
+              void **reply,
+              int *reply_len,
+              const int timeout_ms);
 
-bool BHSendReply(BHSrcInfo *src,
-                 const void *reply,
-                 const int reply_len);
+int BHReadRequest(void **proc_id,
+                  int *proc_id_len,
+                  void **request,
+                  int *request_len,
+                  void **src,
+                  const int timeout_ms);
+
+int BHSendReply(void *src,
+                const void *reply,
+                const int reply_len);
 
 // int BHCleanUp();
 
 void BHFree(void *buf, int size);
 
-int BHGetLastError(void **msg, int &msg_len);
+int BHGetLastError(void **msg, int *msg_len);
 
 #ifdef __cplusplus
 }

--
Gitblit v1.8.0