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
commit 6673161584c529fba6f99b429fc23211f45e8140 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
