This is an automated email from the ASF dual-hosted git repository.

martinzink pushed a commit to branch beke_2
in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git


The following commit(s) were added to refs/heads/beke_2 by this push:
     new 3f451656a fix3
3f451656a is described below

commit 3f451656a7ba9055425844636fe726495aa8014c
Author: Martin Zink <[email protected]>
AuthorDate: Thu Jun 18 13:20:23 2026 +0200

    fix3
---
 .../mocklib/include/MockProcessContext.h           |  1 +
 .../mocklib/src/mock-minifi-api.cpp                | 39 +++++++++++++++++-----
 .../cpp-extension-lib/src/core/ProcessContext.cpp  |  8 +++++
 libminifi/src/minifi-api.cpp                       |  4 +--
 minifi-api/minifi-api.def                          |  2 +-
 5 files changed, 42 insertions(+), 12 deletions(-)

diff --git 
a/extension-framework/cpp-extension-lib/mocklib/include/MockProcessContext.h 
b/extension-framework/cpp-extension-lib/mocklib/include/MockProcessContext.h
index f133a32c8..1b97a7ed8 100644
--- a/extension-framework/cpp-extension-lib/mocklib/include/MockProcessContext.h
+++ b/extension-framework/cpp-extension-lib/mocklib/include/MockProcessContext.h
@@ -37,6 +37,7 @@ class MockProcessContext : public api::core::ProcessContext {
 
   [[nodiscard]] std::expected<void, std::error_code> reportMetrics(const 
api::core::PublishedMetrics& metrics) const override {
     *last_published_metrics_ = metrics;
+    return {};
   }
 
   [[nodiscard]] std::expected<void, std::error_code> setTriggerWhenEmpty(bool) 
override {}
diff --git 
a/extension-framework/cpp-extension-lib/mocklib/src/mock-minifi-api.cpp 
b/extension-framework/cpp-extension-lib/mocklib/src/mock-minifi-api.cpp
index 829b027e4..8e9fc0e30 100644
--- a/extension-framework/cpp-extension-lib/mocklib/src/mock-minifi-api.cpp
+++ b/extension-framework/cpp-extension-lib/mocklib/src/mock-minifi-api.cpp
@@ -37,7 +37,8 @@ minifi_status 
minifi_process_context_get_property(minifi_process_context*, minif
   throw std::runtime_error("Not implemented");
 }
 
-minifi_status 
minifi_process_context_get_controller_service_from_property(minifi_process_context*,
 minifi_string_view, minifi_string_view, minifi_controller_service**) {
+minifi_status 
minifi_process_context_get_controller_service_from_property(minifi_process_context*,
 minifi_string_view, minifi_string_view,
+    minifi_controller_service**) {
   throw std::runtime_error("Not implemented");
 }
 
@@ -46,11 +47,6 @@ void 
minifi_process_context_get_dynamic_properties(minifi_process_context*, mini
   throw std::runtime_error("Not implemented");
 }
 
-minifi_status minifi_process_context_get_ssl_data(minifi_process_context*, 
minifi_string_view,
-    void (*)(void* user_ctx, const minifi_ssl_data* ssl_data), void*) {
-  throw std::runtime_error("Not implemented");
-}
-
 void minifi_logger_log_string(minifi_logger*, minifi_log_level, 
minifi_string_view) {
   throw std::runtime_error("Not implemented");
 }
@@ -62,6 +58,7 @@ bool minifi_logger_should_log(minifi_logger*, 
minifi_log_level) {
 MINIFI_OWNED minifi_flow_file* 
minifi_process_session_get(minifi_process_session*) {
   throw std::runtime_error("Not implemented");
 }
+
 MINIFI_OWNED minifi_flow_file* 
minifi_process_session_create(minifi_process_session*, minifi_flow_file*) {
   throw std::runtime_error("Not implemented");
 }
@@ -102,22 +99,27 @@ int64_t minifi_output_stream_write(minifi_output_stream*, 
const char*, size_t) {
   throw std::runtime_error("Not implemented");
 }
 
-minifi_status 
minifi_process_session_set_flow_file_attribute(minifi_process_session*, 
minifi_flow_file*, minifi_string_view, const minifi_string_view*) {
+minifi_status 
minifi_process_session_set_flow_file_attribute(minifi_process_session*, 
minifi_flow_file*, minifi_string_view,
+    const minifi_string_view*) {
   throw std::runtime_error("Not implemented");
 }
+
 bool minifi_process_session_get_flow_file_attribute(minifi_process_session*, 
minifi_flow_file*, minifi_string_view,
     void (*)(void* user_ctx, minifi_string_view attribute_value), void*) {
   throw std::runtime_error("Not implemented");
 }
+
 void minifi_process_session_get_flow_file_attributes(minifi_process_session*, 
minifi_flow_file*,
     void (*)(void* user_ctx, minifi_string_view attribute_name, 
minifi_string_view attribute_value), void*) {
   throw std::runtime_error("Not implemented");
 }
+
 uint64_t minifi_process_session_get_flow_file_size(minifi_process_session*, 
minifi_flow_file*) {
   throw std::runtime_error("Not implemented");
 }
-minifi_status minifi_process_session_get_flow_file_id(minifi_process_session*, 
minifi_flow_file*, void (*)(void* user_ctx, minifi_string_view flow_file_id),
-    void*) {
+
+minifi_status minifi_process_session_get_flow_file_id(minifi_process_session*, 
minifi_flow_file*,
+    void (*)(void* user_ctx, minifi_string_view flow_file_id), void*) {
   throw std::runtime_error("Not implemented");
 }
 
@@ -125,4 +127,23 @@ enum minifi_status 
minifi_controller_service_context_get_property(struct minifi_
     void (*)(void* user_ctx, minifi_string_view property_value), void*) {
   throw std::runtime_error("Not implemented");
 }
+
+enum minifi_status minifi_process_context_get_ssl_data_from_property(struct 
minifi_process_context*, struct minifi_string_view,
+    void (*cb)(void* user_ctx, const struct minifi_ssl_data*), void*) {
+  throw std::runtime_error("Not implemented");
+}
+
+enum minifi_status minifi_process_context_get_proxy_data_from_property(struct 
minifi_process_context*, struct minifi_string_view,
+    void (*cb)(void* user_ctx, const struct minifi_proxy_data*), void*) {
+  throw std::runtime_error("Not implemented");
+}
+
+minifi_status 
minifi_process_context_set_trigger_when_empty(minifi_process_context*, bool) {
+  throw std::runtime_error("Not implemented");
+}
+
+minifi_status minifi_process_context_report_metrics(minifi_process_context*, 
size_t, const minifi_string_view*, const double*) {
+  throw std::runtime_error("Not implemented");
+}
+
 }  // extern "C"
diff --git a/extension-framework/cpp-extension-lib/src/core/ProcessContext.cpp 
b/extension-framework/cpp-extension-lib/src/core/ProcessContext.cpp
index c50ebcdb3..3d1b1fbfa 100644
--- a/extension-framework/cpp-extension-lib/src/core/ProcessContext.cpp
+++ b/extension-framework/cpp-extension-lib/src/core/ProcessContext.cpp
@@ -132,5 +132,13 @@ std::expected<void, std::error_code> 
CffiProcessContext::reportMetrics(const Pub
   return {};
 }
 
+std::expected<void, std::error_code> 
CffiProcessContext::setTriggerWhenEmpty(bool trigger_when_empty) {
+  const auto status = minifi_process_context_set_trigger_when_empty(impl_, 
trigger_when_empty);
+  if (status != MINIFI_STATUS_SUCCESS) {
+    return std::unexpected{utils::make_error_code(status)};
+  }
+  return {};
+}
+
 
 }  // namespace org::apache::nifi::minifi::api::core
diff --git a/libminifi/src/minifi-api.cpp b/libminifi/src/minifi-api.cpp
index 807e65df1..ed464b2a9 100644
--- a/libminifi/src/minifi-api.cpp
+++ b/libminifi/src/minifi-api.cpp
@@ -644,8 +644,8 @@ void 
minifi_process_context_get_dynamic_properties(minifi_process_context* conte
   }
 }
 
-minifi_status 
minifi_process_context_get_ssl_data_from_property(minifi_process_context* 
process_context, minifi_string_view property_name,
-    void (*cb)(void* user_ctx, const minifi_ssl_data* ssl_data), void* 
user_ctx) {
+enum minifi_status minifi_process_context_get_ssl_data_from_property(struct 
minifi_process_context* process_context, struct minifi_string_view 
property_name,
+    void (*cb)(void* user_ctx, const struct minifi_ssl_data* ssl_data), void* 
user_ctx) {
   gsl_Assert(process_context);
   try {
     const auto context = 
reinterpret_cast<minifi::core::ProcessContext*>(process_context);
diff --git a/minifi-api/minifi-api.def b/minifi-api/minifi-api.def
index dc966971a..55393e00d 100644
--- a/minifi-api/minifi-api.def
+++ b/minifi-api/minifi-api.def
@@ -12,8 +12,8 @@ EXPORTS
     minifi_process_context_get_property
     minifi_process_context_get_proxy_data_from_property
     minifi_process_context_get_ssl_data_from_property
-    minifi_process_context_get_ssl_data_from_property
     minifi_process_context_has_non_empty_property
+    minifi_process_context_report_metrics
     minifi_process_session_create
     minifi_process_session_get
     minifi_process_session_get_flow_file_attribute

Reply via email to