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 aebc96692018dabb89c628f0c3badd202fc57d0c
Author: Martin Zink <[email protected]>
AuthorDate: Wed Jun 17 17:45:02 2026 +0200

    changes found from rust wrapper rebase
---
 Extensions.md                                                     | 4 ++--
 .../cpp-extension-lib/include/api/core/ProcessContext.h           | 2 ++
 .../cpp-extension-lib/mocklib/include/MockProcessContext.h        | 2 ++
 extensions/gcp/ExtensionInitializer.cpp                           | 2 +-
 extensions/kafka/ConsumeKafka.cpp                                 | 2 +-
 extensions/kafka/ExtensionInitializer.cpp                         | 2 +-
 extensions/llamacpp/ExtensionInitializer.cpp                      | 2 +-
 extensions/stable-api-sandbox/ExtensionInitializer.cpp            | 2 +-
 libminifi/src/minifi-api.cpp                                      | 4 ++--
 .../integration/extension-verification-test/CApiExtension.cpp     | 2 +-
 .../extension-verification-test/ExtensionVerificationTests.cpp    | 4 ++--
 minifi-api/include/minifi-c/minifi-api.h                          | 8 ++++----
 12 files changed, 20 insertions(+), 16 deletions(-)

diff --git a/Extensions.md b/Extensions.md
index 5fec72529..cebe83671 100644
--- a/Extensions.md
+++ b/Extensions.md
@@ -32,7 +32,7 @@ Unless otherwise specified, the following lifetime rules 
apply to all functions
 
 * Created Resources: The lifetime of resources created within these functions 
(e.g., a handle returned by `MinifiProcessSessionGet` inside 
`MinifiProcessorCallbacks::onTrigger`)
 is limited to the scope of the innermost callback.
-(the return value of `MinifiRegisterExtension` is only valid during the 
execution of `minifi_init_extension`).
+(the return value of `minifi_register_extension` is only valid during the 
execution of `minifi_init_extension`).
 
 Because of these scoping rules, all processor and controller service 
registrations must occur within the `minifi_init_extension` call.
 One possible example of this is:
@@ -47,7 +47,7 @@ extern "C" void minifi_init_extension(MinifiExtensionContext* 
extension_context)
     .deinit = nullptr,
     .user_data = nullptr
   };
-  auto* extension = MinifiRegisterExtension(extension_context, 
&extension_definition);
+  auto* extension = minifi_register_extension(extension_context, 
&extension_definition);
   
minifi::api::core::useProcessorClassDefinition<minifi::extensions::llamacpp::processors::RunLlamaCppInference>([&]
 (const MinifiProcessorClassDefinition& definition) {
     MinifiRegisterProcessor(extension, &definition);
   });
diff --git 
a/extension-framework/cpp-extension-lib/include/api/core/ProcessContext.h 
b/extension-framework/cpp-extension-lib/include/api/core/ProcessContext.h
index a1e528d88..e3f821cfd 100644
--- a/extension-framework/cpp-extension-lib/include/api/core/ProcessContext.h
+++ b/extension-framework/cpp-extension-lib/include/api/core/ProcessContext.h
@@ -48,6 +48,7 @@ class ProcessContext {
   [[nodiscard]] virtual std::expected<std::optional<utils::ProxyData>, 
std::error_code> getProxyData(const minifi::core::PropertyReference& prop) 
const = 0;
 
   [[nodiscard]] virtual std::expected<void, std::error_code> 
reportMetrics(const PublishedMetrics& metrics) const = 0;
+  [[nodiscard]] virtual std::expected<void, std::error_code> 
setTriggerWhenEmpty(bool) = 0;
 };
 
 class CffiProcessContext : public ProcessContext {
@@ -63,6 +64,7 @@ class CffiProcessContext : public ProcessContext {
   [[nodiscard]] std::expected<std::optional<utils::ProxyData>, 
std::error_code> getProxyData(const minifi::core::PropertyReference& prop) 
const override;
 
   [[nodiscard]] std::expected<void, std::error_code> reportMetrics(const 
PublishedMetrics& metrics) const override;
+  [[nodiscard]] std::expected<void, std::error_code> setTriggerWhenEmpty(bool) 
override;
 
  private:
   [[nodiscard]] std::expected<std::string, std::error_code> 
getProperty(std::string_view name, const FlowFile* flow_file) const;
diff --git 
a/extension-framework/cpp-extension-lib/mocklib/include/MockProcessContext.h 
b/extension-framework/cpp-extension-lib/mocklib/include/MockProcessContext.h
index 153068646..f133a32c8 100644
--- a/extension-framework/cpp-extension-lib/mocklib/include/MockProcessContext.h
+++ b/extension-framework/cpp-extension-lib/mocklib/include/MockProcessContext.h
@@ -39,6 +39,8 @@ class MockProcessContext : public api::core::ProcessContext {
     *last_published_metrics_ = metrics;
   }
 
+  [[nodiscard]] std::expected<void, std::error_code> setTriggerWhenEmpty(bool) 
override {}
+
   std::map<std::string, std::string, std::less<>> properties_;
   std::unique_ptr<api::core::PublishedMetrics> last_published_metrics_ = 
std::make_unique<api::core::PublishedMetrics>();
 
diff --git a/extensions/gcp/ExtensionInitializer.cpp 
b/extensions/gcp/ExtensionInitializer.cpp
index 26014afb4..267c5fed6 100644
--- a/extensions/gcp/ExtensionInitializer.cpp
+++ b/extensions/gcp/ExtensionInitializer.cpp
@@ -37,7 +37,7 @@ CEXTENSIONAPI void 
minifi_init_extension(minifi_extension_context* extension_con
     .deinit = nullptr,
     .user_data = nullptr
   };
-  auto* extension = MinifiRegisterExtension(extension_context, 
&extension_definition);
+  auto* extension = minifi_register_extension(extension_context, 
&extension_definition);
   
minifi::api::core::registerProcessors<minifi::extensions::gcp::DeleteGCSObject,
       minifi::extensions::gcp::FetchGCSObject,
       minifi::extensions::gcp::ListGCSBucket,
diff --git a/extensions/kafka/ConsumeKafka.cpp 
b/extensions/kafka/ConsumeKafka.cpp
index 3c1f9ae14..facc83cae 100644
--- a/extensions/kafka/ConsumeKafka.cpp
+++ b/extensions/kafka/ConsumeKafka.cpp
@@ -66,7 +66,7 @@ minifi_status 
ConsumeKafka::onScheduleImpl(api::core::ProcessContext& context) {
 
   configureNewConnection(context);
   if (commit_policy_ == 
consume_kafka::CommitPolicyEnum::CommitFromIncomingFlowFiles) {
-    // TODO(beke) setTriggerWhenEmpty(true);
+    context.setTriggerWhenEmpty(true);
   }
   return MINIFI_STATUS_SUCCESS;
 }
diff --git a/extensions/kafka/ExtensionInitializer.cpp 
b/extensions/kafka/ExtensionInitializer.cpp
index d95a3dbf7..d9d424b80 100644
--- a/extensions/kafka/ExtensionInitializer.cpp
+++ b/extensions/kafka/ExtensionInitializer.cpp
@@ -32,6 +32,6 @@ CEXTENSIONAPI void 
MinifiInitExtension(minifi_extension_context* extension_conte
       .version = 
minifi::api::utils::minifiStringView(MAKESTRING(EXTENSION_VERSION)),
       .deinit = nullptr,
       .user_data = nullptr};
-  auto* extension = MinifiRegisterExtension(extension_context, 
&extension_definition);
+  auto* extension = minifi_register_extension(extension_context, 
&extension_definition);
   minifi::api::core::registerProcessors<minifi::processors::PublishKafka, 
minifi::processors::ConsumeKafka>(extension);
 }
diff --git a/extensions/llamacpp/ExtensionInitializer.cpp 
b/extensions/llamacpp/ExtensionInitializer.cpp
index 1152aa7e6..e2ee8b9f6 100644
--- a/extensions/llamacpp/ExtensionInitializer.cpp
+++ b/extensions/llamacpp/ExtensionInitializer.cpp
@@ -33,6 +33,6 @@ CEXTENSIONAPI void 
minifi_init_extension(minifi_extension_context* extension_con
     .deinit = nullptr,
     .user_data = nullptr
   };
-  auto* extension = MinifiRegisterExtension(extension_context, 
&extension_definition);
+  auto* extension = minifi_register_extension(extension_context, 
&extension_definition);
   
minifi::api::core::registerProcessors<minifi::extensions::llamacpp::processors::RunLlamaCppInference>(extension);
 }
diff --git a/extensions/stable-api-sandbox/ExtensionInitializer.cpp 
b/extensions/stable-api-sandbox/ExtensionInitializer.cpp
index 28a1cd7df..c47a04d5c 100644
--- a/extensions/stable-api-sandbox/ExtensionInitializer.cpp
+++ b/extensions/stable-api-sandbox/ExtensionInitializer.cpp
@@ -32,7 +32,7 @@ CEXTENSIONAPI void 
minifi_init_extension(minifi_extension_context* extension_con
       .version = 
minifi::api::utils::minifiStringView(MAKESTRING(EXTENSION_VERSION)),
       .deinit = nullptr,
       .user_data = nullptr};
-  auto* extension = MinifiRegisterExtension(extension_context, 
&extension_definition);
+  auto* extension = minifi_register_extension(extension_context, 
&extension_definition);
   
minifi::api::core::registerProcessors<minifi::api_testing::ZooProcessor>(extension);
   
minifi::api::core::registerControllerServices<minifi::api_testing::DogController,
 minifi::api_testing::DuckController>(extension);
 }
diff --git a/libminifi/src/minifi-api.cpp b/libminifi/src/minifi-api.cpp
index 82cecd6d6..807e65df1 100644
--- a/libminifi/src/minifi-api.cpp
+++ b/libminifi/src/minifi-api.cpp
@@ -304,7 +304,7 @@ void useCControllerServiceClassDescription(const 
minifi_controller_service_class
 
 extern "C" {
 
-minifi_extension* MinifiRegisterExtension(minifi_extension_context* 
extension_context, const minifi_extension_definition* extension_definition) {
+minifi_extension* minifi_register_extension(minifi_extension_context* 
extension_context, const minifi_extension_definition* extension_definition) {
   gsl_Assert(extension_context);
   gsl_Assert(extension_definition);
   auto* extension = 
reinterpret_cast<org::apache::nifi::minifi::core::extension::Extension::Context*>(extension_context)->create(org::apache::nifi::minifi::core::extension::Extension::Info{
@@ -365,7 +365,7 @@ minifi_status 
minifi_register_controller_service(minifi_extension* extension, co
 
 
 minifi_extension* MINIFI_REGISTER_EXTENSION_FN(minifi_extension_context* 
extension_context, const minifi_extension_definition* extension_definition) {
-  return MinifiRegisterExtension(extension_context, extension_definition);
+  return minifi_register_extension(extension_context, extension_definition);
 }
 
 minifi_status 
minifi_process_context_set_trigger_when_empty(minifi_process_context* context, 
bool trigger_when_empty) {
diff --git 
a/libminifi/test/integration/extension-verification-test/CApiExtension.cpp 
b/libminifi/test/integration/extension-verification-test/CApiExtension.cpp
index a1ae261b0..efa5d2007 100644
--- a/libminifi/test/integration/extension-verification-test/CApiExtension.cpp
+++ b/libminifi/test/integration/extension-verification-test/CApiExtension.cpp
@@ -49,7 +49,7 @@ CEXTENSIONAPI void 
minifi_init_extension(minifi_extension_context* extension_con
     .deinit = nullptr,
     .user_data = nullptr
   };
-  auto extension = MinifiRegisterExtension(extension_context, 
&extension_definition);
+  auto extension = minifi_register_extension(extension_context, 
&extension_definition);
   minifi::api::core::useProcessorClassDefinition<DummyCProcessor>([&] (const 
minifi_processor_class_definition& definition) {
     minifi_register_processor(extension, &definition);
   });
diff --git 
a/libminifi/test/integration/extension-verification-test/ExtensionVerificationTests.cpp
 
b/libminifi/test/integration/extension-verification-test/ExtensionVerificationTests.cpp
index 40d358e0d..ab4814c7e 100644
--- 
a/libminifi/test/integration/extension-verification-test/ExtensionVerificationTests.cpp
+++ 
b/libminifi/test/integration/extension-verification-test/ExtensionVerificationTests.cpp
@@ -29,7 +29,7 @@
 
 extern "C" {
 minifi_extension* 
MinifiRegisterCppExtension_MatchingBuildId(minifi_extension_context* 
extension_context, const minifi_extension_definition* extension_definition) {
-  return MinifiRegisterExtension(extension_context, extension_definition);
+  return minifi_register_extension(extension_context, extension_definition);
 }
 }  // extern "C"
 
@@ -93,7 +93,7 @@ TEST_CASE("Can't load c-api extensions with no 
minifi_init_extension function")
   REQUIRE(minifi::test::utils::verifyLogLinePresenceInPollTime(0s, "Failed to 
load as c extension 'test-extension-loading-missing-init'"));
 }
 
-TEST_CASE("Can't load c-api extensions with no MinifiRegisterExtension call") {
+TEST_CASE("Can't load c-api extensions with no minifi_register_extension 
call") {
   ExtensionLoadingTestController 
controller{"*test-extension-loading-create-not-called*"};
   REQUIRE(minifi::test::utils::verifyLogLinePresenceInPollTime(0s, "Failed to 
initialize extension 'test-extension-loading-create-not-called'"));
 }
diff --git a/minifi-api/include/minifi-c/minifi-api.h 
b/minifi-api/include/minifi-c/minifi-api.h
index 142c5652f..149e88806 100644
--- a/minifi-api/include/minifi-c/minifi-api.h
+++ b/minifi-api/include/minifi-c/minifi-api.h
@@ -38,7 +38,7 @@ extern "C" {
 #define MINIFI_NULLABLE
 
 #ifndef MINIFI_REGISTER_EXTENSION_FN
-#define MINIFI_REGISTER_EXTENSION_FN MinifiRegisterExtension
+#define MINIFI_REGISTER_EXTENSION_FN minifi_register_extension
 #endif
 
 /// To declare a processor property that expects an SSLContextService,
@@ -221,7 +221,7 @@ struct minifi_extension_definition {
 
 //  When directly linking against the agent library (legacy c++ extension) 
this declares a build identifier dependent function
 //  which prevents loading extensions from different builds (e.g. the agent 
provides MinifiRegisterCppExtension_123 but the extension
-//  expects MinifiRegisterCppExtension_567). Otherwise, it declares 
MinifiRegisterExtension.
+//  expects MinifiRegisterCppExtension_567). Otherwise, it declares 
minifi_register_extension.
 struct minifi_extension* MINIFI_REGISTER_EXTENSION_FN(struct 
minifi_extension_context* extension_context,
     const struct minifi_extension_definition* extension_definition);
 
@@ -288,7 +288,7 @@ struct minifi_ssl_data {
 };
 
 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 
minifi_ssl_data* ssl_data), void* user_ctx);
+    struct minifi_string_view property_name, void (*cb)(void* user_ctx, const 
struct minifi_ssl_data* ssl_data), void* user_ctx);
 
 enum minifi_proxy_type : uint8_t {
   MINIFI_PROXY_TYPE_DIRECT,
@@ -296,7 +296,7 @@ enum minifi_proxy_type : uint8_t {
 };
 
 struct minifi_proxy_data {
-  minifi_proxy_type proxy_type;
+  enum minifi_proxy_type proxy_type;
   struct minifi_string_view hostname;
   uint16_t port;
   struct minifi_string_view* username;

Reply via email to