From 4fc07d5d891c251a1fe09c17ee16467d961a8f74 Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期三, 14 十二月 2022 15:31:12 +0800
Subject: [PATCH] add interface creg add topic and export symbols

---
 message.cpp |   30 +++++++++++++++++++++++++++++-
 1 files changed, 29 insertions(+), 1 deletions(-)

diff --git a/message.cpp b/message.cpp
index 614018c..8766730 100644
--- a/message.cpp
+++ b/message.cpp
@@ -122,13 +122,38 @@
     reg->sub_net_count = subnetcnt;
     return reg;
 }
+creg* make_creg_from_cproc(const cproc* proc){
+    auto reg = ptrT<struct creg>();
+    reg->proc = rmConst(proc);
+    return reg;
+}
+
+static inline void creg_add_topic(char*** dst, size_t* dstC, const char** src, const size_t srcC){
+    *dst = rmConst(src);
+    *dstC = srcC;
+}
+void creg_add_topic_reply(creg* reg, const char** topic, const size_t count){
+    creg_add_topic(&reg->channel, &reg->channel_count, topic, count);
+}
+
+void creg_add_topic_pub(creg* reg, const char** topic, const size_t count){
+    creg_add_topic(&reg->pub, &reg->pub_count, topic, count);
+}
+
+void creg_add_topic_sub(creg* reg, const char** topic, const size_t count){
+    creg_add_topic(&reg->sub, &reg->sub_count, topic, count);
+}
+
+void creg_add_topic_subnet(creg* reg, const char** topic, const size_t count){
+    creg_add_topic(&reg->sub_net, &reg->sub_net_count, topic, count);
+}
 
 const cproc* creg_proc(const creg* reg){
     if (!reg) return NULL;
     return reg->proc;
 }
 
-char** creg_rep_topic(const creg* reg, size_t* count){
+char** creg_reply_topic(const creg* reg, size_t* count){
     if (!reg) return NULL;
     *count = reg->channel_count;
     return reg->channel;
@@ -590,9 +615,12 @@
     }
 }
 
+template <class F> void ignoref(F&& f){}
 static struct cstr make_reply_msg_json(const int success, const char* msg, const size_t msgl,
                                 const char* data, const size_t datal)
 {
+    ignoref(make_reply_msg_json);
+
     auto doc = yyjson_mut_doc_new(NULL);
     auto root = yyjson_mut_obj(doc);
     yyjson_mut_obj_add_bool(doc, root, "success", !!success);

--
Gitblit v1.8.0