@@ -49,38 +49,38 @@ void useProcessorClassDefinition(Fn&& fn) {
4949 std::vector<MinifiDynamicPropertyDefinition> dynamic_properties;
5050 for (auto & prop : Class::DynamicProperties) {
5151 dynamic_properties.push_back (MinifiDynamicPropertyDefinition {
52- .name = utils::toStringView (prop.name ),
53- .value = utils::toStringView (prop.value ),
54- .description = utils::toStringView (prop.description ),
52+ .name = utils::minifiStringView (prop.name ),
53+ .value = utils::minifiStringView (prop.value ),
54+ .description = utils::minifiStringView (prop.description ),
5555 .supports_expression_language = prop.supports_expression_language
5656 });
5757 }
5858 std::vector<MinifiRelationshipDefinition> relationships;
5959 for (auto & rel : Class::Relationships) {
6060 relationships.push_back (MinifiRelationshipDefinition{
61- .name = utils::toStringView (rel.name ),
62- .description = utils::toStringView (rel.description )
61+ .name = utils::minifiStringView (rel.name ),
62+ .description = utils::minifiStringView (rel.description )
6363 });
6464 }
6565 std::vector<std::vector<MinifiStringView>> attribute_relationships_cache;
6666 std::vector<MinifiOutputAttributeDefinition> output_attributes;
6767 for (auto & attr : Class::OutputAttributes) {
6868 std::vector<MinifiStringView> rel_cache;
6969 for (auto & rel : attr.relationships ) {
70- rel_cache.push_back (utils::toStringView (rel.name ));
70+ rel_cache.push_back (utils::minifiStringView (rel.name ));
7171 }
7272 output_attributes.push_back (MinifiOutputAttributeDefinition {
73- .name = utils::toStringView (attr.name ),
73+ .name = utils::minifiStringView (attr.name ),
7474 .relationships_count = gsl::narrow<uint32_t >(attr.relationships .size ()),
7575 .relationships_ptr = rel_cache.data (),
76- .description = utils::toStringView (attr.description )
76+ .description = utils::minifiStringView (attr.description )
7777 });
7878 attribute_relationships_cache.push_back (std::move (rel_cache));
7979 }
8080
8181 MinifiProcessorClassDefinition definition{
82- .full_name = utils::toStringView (full_name),
83- .description = utils::toStringView (Class::Description),
82+ .full_name = utils::minifiStringView (full_name),
83+ .description = utils::minifiStringView (Class::Description),
8484 .class_properties_count = gsl::narrow<uint32_t >(class_properties.size ()),
8585 .class_properties_ptr = class_properties.data (),
8686 .dynamic_properties_count = gsl::narrow<uint32_t >(dynamic_properties.size ()),
@@ -100,7 +100,7 @@ void useProcessorClassDefinition(Fn&& fn) {
100100 return new Class{minifi::core::ProcessorMetadata{
101101 .uuid = minifi::utils::Identifier::parse (std::string{metadata.uuid .data , metadata.uuid .length }).value (),
102102 .name = std::string{metadata.name .data , metadata.name .length },
103- .logger = std::make_shared<logging::Logger >(metadata.logger )}};
103+ .logger = std::make_shared<logging::CffiLogger >(metadata.logger )}};
104104 } catch (...) { return nullptr ; }
105105 },
106106 .destroy = [] (MINIFI_OWNED void * self) -> void {
@@ -110,16 +110,16 @@ void useProcessorClassDefinition(Fn&& fn) {
110110 return static_cast <Class*>(self)->getTriggerWhenEmpty ();
111111 },
112112 .onTrigger = [] (void * self, MinifiProcessContext* context, MinifiProcessSession* session) -> MinifiStatus {
113- ProcessContext context_wrapper (context);
114- ProcessSession session_wrapper (session);
113+ CffiProcessContext context_wrapper (context);
114+ CffiProcessSession session_wrapper (session);
115115 try {
116116 return static_cast <Class*>(self)->onTrigger (context_wrapper, session_wrapper);
117117 } catch (...) {
118118 return MINIFI_STATUS_UNKNOWN_ERROR;
119119 }
120120 },
121121 .onSchedule = [] (void * self, MinifiProcessContext* context) -> MinifiStatus {
122- ProcessContext context_wrapper (context);
122+ CffiProcessContext context_wrapper (context);
123123 try {
124124 return static_cast <Class*>(self)->onSchedule (context_wrapper);
125125 } catch (...) {
@@ -136,7 +136,7 @@ void useProcessorClassDefinition(Fn&& fn) {
136136 std::vector<MinifiStringView> names;
137137 std::vector<double > values;
138138 for (auto & [name, val] : metrics) {
139- names.push_back (utils::toStringView (name));
139+ names.push_back (utils::minifiStringView (name));
140140 values.push_back (val);
141141 }
142142 return MinifiPublishedMetricsCreate (gsl::narrow<uint32_t >(metrics.size ()), names.data (), values.data ());
@@ -155,8 +155,8 @@ void useControllerServiceClassDefinition(Fn&& fn) {
155155
156156 std::vector<MinifiPropertyDefinition> class_properties = utils::toProperties (Class::Properties, string_vector_cache);
157157
158- MinifiControllerServiceClassDefinition definition{.full_name = utils::toStringView (full_name),
159- .description = utils::toStringView (Class::Description),
158+ MinifiControllerServiceClassDefinition definition{.full_name = utils::minifiStringView (full_name),
159+ .description = utils::minifiStringView (Class::Description),
160160 .class_properties_count = gsl::narrow<uint32_t >(class_properties.size ()),
161161 .class_properties_ptr = class_properties.data (),
162162
@@ -166,7 +166,7 @@ void useControllerServiceClassDefinition(Fn&& fn) {
166166 return new Class{minifi::core::ControllerServiceMetadata{
167167 .uuid = minifi::utils::Identifier::parse (std::string{metadata.uuid .data , metadata.uuid .length }).value (),
168168 .name = std::string{metadata.name .data , metadata.name .length },
169- .logger = std::make_shared<logging::Logger >(metadata.logger )}};
169+ .logger = std::make_shared<logging::CffiLogger >(metadata.logger )}};
170170 } catch (...) { return nullptr ; }
171171 },
172172 .destroy = [](MINIFI_OWNED void * self) -> void { delete static_cast <Class*>(self); },
@@ -186,4 +186,18 @@ void useControllerServiceClassDefinition(Fn&& fn) {
186186 fn (definition);
187187}
188188
189+ template <typename ... Processors>
190+ void registerProcessors (MinifiExtension* extension) {
191+ (core::useProcessorClassDefinition<Processors>([&](const MinifiProcessorClassDefinition& definition) {
192+ MinifiRegisterProcessor (extension, &definition);
193+ }), ...);
194+ }
195+
196+ template <typename ... ControllerServices>
197+ void registerControllerServices (MinifiExtension* extension) {
198+ (core::useControllerServiceClassDefinition<ControllerServices>([&](const MinifiControllerServiceClassDefinition& definition) {
199+ MinifiRegisterControllerService (extension, &definition);
200+ }), ...);
201+ }
202+
189203} // namespace org::apache::nifi::minifi::api::core
0 commit comments