IncomingConnectionInterface
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
The 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 ImplementIncomingConnectionInterface
.
handle
A pointer to the object that exposing the IncomingConnectionInterface
functions.
void * handle;
The object pointed to by the handle must expose the following functions:
II_Init
II_PushRecord
II_UpdateProgress
II_Close
II_Free
pII_Close
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
OutputMessage
function of theEngineInterface
class, setting thenStatus
parameter to4
. - Close any outgoing connections.
pII_Free
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.
pII_Init
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 0
.
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>
pII_PushRecord
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;
pRecord
: The RecordData
structure that represents the data for the incoming record.
pII_UpdateProgress
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.