This C++ SDK uses outdated technology that limits your extension opportunities. We've built a new Platform SDK using Python and the latest open-source technology to deliver a vastly improved development experience. Go to Platform SDK to get started!
IncomingConnectionInterface class exposes methods the Alteryxengine uses to communicate with a plugin that is processing an incoming connection. All tools with incoming connections must set the associated properties. If you are using the standard naming conventions, you can use the
A pointer to the object that exposing the
void * handle;
The object pointed to by the handle must expose the following functions:
A pointer to a function that is called when the incoming connection has finished passing all records.
typedef void ( _stdcall * T_II_Close)(void * handle); T_II_Close pII_Close;
The function pointed to by this proper should:
- Push any output records that have not been sent downstream.
- Notify the Alteryxengine the process is complete using the
OutputMessagefunction of the
EngineInterfaceclass, setting the
- Close any outgoing connections.
A pointer to a function that is called when the incoming connection is done with the plugin.
typedef void ( _stdcall * T_II_Free)(void * handle); T_II_Free pII_Free;
Use to free any resources that may have been created during process.
A pointer to a function that is called when the incoming connection's record metadata becomes available or has changed, which is used to configure the plugin. Returns
1 if successfully configured and initialized, otherwise returns
typedef long ( _stdcall * T_II_Init)(void * handle, const wchar_t * pXmlRecordMetaInfo); T_II_Init pII_Init;
pXmlRecordMetaInfo: The XML representation of the incoming connection's field and, optionally, sort properties. The XML should adhere to the following form:
<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>
A pointer to a function that is called when an input record is sent to the plugin.
typedef long ( _stdcall * T_II_PushRecord)(void * handle, const RecordData * pRecord); T_II_PushRecord pII_PushRecord;
RecordData structure that represents the data for the incoming record.
A pointer to a function that is called when the incoming connection requests plugin progress.
typedef void ( _stdcall * T_II_UpdateProgress)(void * handle, double dPercent); T_II_UpdateProgress pII_UpdateProgress;
dPercent: A value between 0.0 and 1.0 indicating progress percent.