From 8d2fa8f1a4258f796cff70d758ec7d58272032c0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=BCrgen=20Hannappel?= <juergen.hannappel@desy.de>
Date: Fri, 16 Jul 2021 13:24:25 +0200
Subject: [PATCH] addef function asapo_create_message_header()

---
 producer/api/c/include/asapo/producer_c.h | 16 ++++++++++++----
 producer/api/cpp/src/producer_c_glue.cpp  | 18 ++++++++++++++++++
 2 files changed, 30 insertions(+), 4 deletions(-)

diff --git a/producer/api/c/include/asapo/producer_c.h b/producer/api/c/include/asapo/producer_c.h
index 5e992bce3..190f013ec 100644
--- a/producer/api/c/include/asapo/producer_c.h
+++ b/producer/api/c/include/asapo/producer_c.h
@@ -55,10 +55,10 @@ enum AsapoRequestHandlerType {
 
 //! c version of asapo::IngestModeFlags
 enum AsapoIngestModeFlags {
-  kTransferData = 1 << 0,
-  kTransferMetaDataOnly = 1 << 1,
-  kStoreInFilesystem = 1 << 2,
-  kStoreInDatabase = 1 << 3,
+    kTransferData = 1 << 0,
+    kTransferMetaDataOnly = 1 << 1,
+    kStoreInFilesystem = 1 << 2,
+    kStoreInDatabase = 1 << 3,
 };
 
 const uint64_t kDefaultIngestMode = kTransferData | kStoreInFilesystem | kStoreInDatabase;
@@ -114,6 +114,14 @@ AsapoStreamInfoHandle asapo_producer_get_last_stream(AsapoProducerHandle produce
         uint64_t timeout_ms,
         AsapoErrorHandle* error);
 
+AsapoMessageHeaderHandle asapo_create_message_header(uint64_t message_id,
+        uint64_t data_size,
+        const char* file_name,
+        const char* user_metadata,
+        uint64_t dataset_substream,
+        uint64_t dataset_size,
+        AsapoBool auto_id);
+
 int asapo_producer_send(AsapoProducerHandle producer,
                         const AsapoMessageHeaderHandle message_header,
                         void* data,
diff --git a/producer/api/cpp/src/producer_c_glue.cpp b/producer/api/cpp/src/producer_c_glue.cpp
index 24d1f09a8..2a4455626 100644
--- a/producer/api/cpp/src/producer_c_glue.cpp
+++ b/producer/api/cpp/src/producer_c_glue.cpp
@@ -104,6 +104,24 @@ extern "C" {
             uint64_t timeout_ms,
             AsapoErrorHandle* error);
 
+    AsapoMessageHeaderHandle asapo_create_message_header(uint64_t message_id,
+            uint64_t data_size,
+            const char* file_name,
+            const char* user_metadata,
+            uint64_t dataset_substream,
+            uint64_t dataset_size,
+            AsapoBool auto_id) {
+        return new AsapoHandlerHolder<asapo::MessageHeader>(new asapo::MessageHeader(message_id,
+                data_size,
+                file_name,
+                user_metadata,
+                dataset_substream,
+                dataset_size,
+                auto_id != 0));
+    }
+
+
+
 #define BUILD_WRAPPER asapo::RequestCallback wrapper = [ = ](asapo::RequestCallbackPayload payload, asapo::Error err) -> void { \
             auto payLoadHandle = new AsapoHandlerHolder<asapo::RequestCallbackPayload>(&payload); \
             auto errorHandle = new AsapoHandlerHolder<asapo::ErrorInterface>(err.release()); \
-- 
GitLab