Skip to content

Commit 508cfae

Browse files
committed
registerProcessors and registerControllerServices
1 parent f1bbb01 commit 508cfae

2 files changed

Lines changed: 20 additions & 14 deletions

File tree

extension-framework/cpp-extension-lib/include/api/core/Resource.h

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,4 +189,18 @@ void useControllerServiceClassDescription(Fn&& fn) {
189189
fn(description);
190190
}
191191

192+
template <typename... Processors>
193+
void registerProcessors(MinifiExtension* extension) {
194+
(core::useProcessorClassDescription<Processors>([&](const MinifiProcessorClassDefinition& definition) {
195+
MinifiRegisterProcessor(extension, &definition);
196+
}), ...);
197+
}
198+
199+
template <typename... Processors>
200+
void registerControllerServices(MinifiExtension* extension) {
201+
(core::useControllerServiceClassDescription<Processors>([&](const MinifiControllerServiceClassDefinition& definition) {
202+
MinifiRegisterControllerService(extension, &definition);
203+
}), ...);
204+
}
205+
192206
} // namespace org::apache::nifi::minifi::api::core

extensions/gcp/ExtensionInitializer.cpp

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
* limitations under the License.
1616
*/
1717

18+
#include "../../extension-framework/cpp-extension-lib/include/api/core/Resource.h"
1819
#include "api/core/Resource.h"
1920
#include "api/utils/minifi-c-utils.h"
2021
#include "processors/DeleteGCSObject.h"
@@ -35,18 +36,9 @@ CEXTENSIONAPI void MinifiInitExtension(MinifiExtensionContext* extension_context
3536
.deinit = nullptr,
3637
.user_data = nullptr};
3738
auto* extension = MinifiCreateExtension(extension_context, &ext_create_info);
38-
minifi::api::core::useProcessorClassDescription<minifi::extensions::gcp::DeleteGCSObject>([&](const MinifiProcessorClassDefinition& description) {
39-
MinifiRegisterProcessor(extension, &description);
40-
});
41-
minifi::api::core::useProcessorClassDescription<minifi::extensions::gcp::FetchGCSObject>([&](const MinifiProcessorClassDefinition& description) {
42-
MinifiRegisterProcessor(extension, &description);
43-
});
44-
minifi::api::core::useProcessorClassDescription<minifi::extensions::gcp::ListGCSBucket>([&](const MinifiProcessorClassDefinition& description) {
45-
MinifiRegisterProcessor(extension, &description);
46-
});
47-
minifi::api::core::useProcessorClassDescription<minifi::extensions::gcp::PutGCSObject>([&](const MinifiProcessorClassDefinition& description) {
48-
MinifiRegisterProcessor(extension, &description);
49-
});
50-
minifi::api::core::useControllerServiceClassDescription<minifi::extensions::gcp::GCPCredentialsControllerService>(
51-
[&](const MinifiControllerServiceClassDefinition& description) { MinifiRegisterControllerService(extension, &description); });
39+
minifi::api::core::registerProcessors<minifi::extensions::gcp::DeleteGCSObject,
40+
minifi::extensions::gcp::FetchGCSObject,
41+
minifi::extensions::gcp::ListGCSBucket,
42+
minifi::extensions::gcp::PutGCSObject>(extension);
43+
minifi::api::core::registerControllerServices<minifi::extensions::gcp::GCPCredentialsControllerService>(extension);
5244
}

0 commit comments

Comments
 (0)