[ 
https://issues.apache.org/jira/browse/MINIFICPP-682?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16710211#comment-16710211
 ] 

ASF GitHub Bot commented on MINIFICPP-682:
------------------------------------------

Github user arpadboda commented on a diff in the pull request:

    https://github.com/apache/nifi-minifi-cpp/pull/448#discussion_r239106406
  
    --- Diff: nanofi/include/api/nanofi.h ---
    @@ -68,60 +94,173 @@ typedef int c2_start_callback(char *);
     
     void enable_async_c2(nifi_instance *, C2_Server *, c2_stop_callback *, 
c2_start_callback *, c2_update_callback *);
     
    +/**
    + * Creates a new, empty flow
    + * @param instance the instance new flow will belong to
    + * @return a pointer to the created flow
    + **/
    +flow *create_new_flow(nifi_instance * instance);
     
    -uint8_t run_processor(const processor *processor);
    -
    -flow *create_new_flow(nifi_instance *);
     
    -flow *create_flow(nifi_instance *, const char *);
    +/**
    + * Creates new flow and adds the first processor in case a valid name is 
provided
    + * @deprecated  as there is no proper indication of processor adding 
errors,
    + * usage of "create_new_flow" and "add_processor is recommended instead
    + * @param instance the instance new flow will belong to
    + * @param first_processor name of the first processor to be instanciated
    + * @attention in case first processor is empty or doesn't name any 
existing processor, an empty flow is returned.
    + * @return a pointer to the created flow
    + **/
    +DEPRECATED flow *create_flow(nifi_instance * instance, const char * 
first_processor);
     
    -flow *create_getfile(nifi_instance *instance, flow *parent, GetFileConfig 
*c);
    +/**
    + * Add a getfile processor to "parent" flow.
    + * Creates new flow in instance in case "parent" is nullptr
    + * @deprecated as getfile processor can be added using "add_processor" 
function,
    + * properties can be set using "set_property".
    + * @param instance the instance the flow belongs to
    + * @param parent the flow to be extended with a new getfile processor
    + * @param c configuration of the new processor
    + * @return parent in case it wasn't null, otherwise a pointer to a new flow
    + */
    +DEPRECATED flow *create_getfile(nifi_instance *instance, flow *parent, 
GetFileConfig *c);
     
    -processor *add_processor(flow *, const char *);
    +/**
    + * Extend a flow with a new processor
    + * @param flow the flow to be extended with the new processor
    + * @param name name of the new processor
    + * @return pointer to the new processor or nullptr in case it cannot be 
instantiated (wrong name?)
    + */
    +processor *add_processor(flow * flow, const char * name);
     
     processor *add_python_processor(flow *, void 
(*ontrigger_callback)(processor_session *session));
     
    -standalone_processor *create_processor(const char *);
    +/**
    + * Create a standalone instance of the given processor.
    + * Standalone instances can be invoked without having an instance/flow 
that contains them.
    + * @param name the name of the processor to instanciate
    + * @return pointer to the new processor or nullptr in case it cannot be 
instantiated (wrong name?)
    + **/
    +standalone_processor *create_processor(const char * name);
     
    -void free_standalone_processor(standalone_processor*);
    +/**
    + * Free a standalone processor
    + * @param processor the processor to be freed
    + */
    +void free_standalone_processor(standalone_processor* processor);
     
     /**
    -* Register your callback to received flow files that the flow failed to 
process
    -* The flow file ownership is transferred to the caller!
    -* The first callback should be registered before the flow is used. Can be 
changed later during runtime.
    -*/
    + * Register your callback to received flow files that the flow failed to 
process
    + * The flow file ownership is transferred to the caller!
    --- End diff --
    
    Good shout, thanks, I will reword this.


> C API: provide functions to create custom processors
> ----------------------------------------------------
>
>                 Key: MINIFICPP-682
>                 URL: https://issues.apache.org/jira/browse/MINIFICPP-682
>             Project: NiFi MiNiFi C++
>          Issue Type: Improvement
>            Reporter: Arpad Boda
>            Assignee: Arpad Boda
>            Priority: Major
>              Labels: CAPI, nanofi
>             Fix For: 0.6.0
>
>
> Extend C API to:
> -Provide functions that can be used used to implement custom processor.
> -Custom processor should be able to read/update both the content and the 
> attributes of flowfile, route to "failure" and "success" relationships. 
> -API should support adding these custom processors to flows and invoke them 
> as standalones, too. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to