PluginOutputConnectionHelper class manages outgoing data connections for the plugin. An instance of the class controls a single output connection.
To instantiate a new instance of the
PluginOutputConnectionHelper(int nToolId, EngineInterface *pEngineInterface)
nToolId: The ID of the tool calling the function.
pEngineInterface: A pointer to the associated
Add an outgoing connection to the list of connections being managed.
void AddOutgoingConnection(IncomingConnectionInterface *pIncConnInt)
pIncConnInt: A pointer to the outgoing connection being added.
Evaluate if connections are properly closed.
AssertClose in the
PI_Close method of the
PluginInterface class to ensure all connections are properly closed.
Close all outgoing connections that are being managed by the
Initialize the object and notify downstream tools of the outgoing record metadata.
bool Init(const wchar_t * pXmlRecordMetaInfo)
pXmlRecordMetaInfo: The XML metadata for the outgoing record, which should be in the following format:
<MetaInfo connection="Output"> <RecordInfo> <Field name="FieldName" source="InputSource" type="DataType"/> //For numeric field types <Field name="FieldName" size="SizeInBytes" source="InputSource" type="DataType"/> //For all other field types ... </RecordInfo> <SortInfo> //If the incoming connection has been pre-sorted <Field field="FieldName" order="SortOrder" /> //Sort order will be either "Asc" or "Desc" ... </SortInfo> </MetaInfo>
Sort information is optional.
Evaluate if the collection of output connections is valid. Returns True if valid.
Notify the Alteryxengine of the number and size of records that have been sent downstream.
void OutputRecordCount(bool bFinal)
bFinal: Determine if the Alteryxengine should be notified after all records have been sent downstream. Set to True to notify the Alteryxengine. This should be done after all records are sent or if you need to force the record count message to be sent.
The message is only sent if the record count is less than 256, a multiple of 256, or bFinal is set to True.
Push a record to all output connections being managed.
bool PushRecord(const RecordData * pRecord, bool bNoAutoClose=false)
RecordData structure that represents the data being sent downstream.
bNoAutoClose: Determine if connections close automatically when complete:
- True: Complete connections do not close automatically.
- False: Complete connections close automatically. Default is False.
All outgoing connections report current progress of downstream tools to Alteryxengine. Progress is reported by the tools using the
OutputToolProgress method of the
void UpdateProgress(double dPercent)
dPercent: The percent completion of the plugin. Valid values are 0.0 to 1.0.