C++ Engine SDK
Use the Alteryx C++ SDK to write custom Alteryx plugin tools using C++. This means you can use the C++ SDK to access core elements of the AlteryxEngine framework.
Creating a custom tool with a C++ back end involves working with an SDK. For this reason, we assume you are familiar with:
- File Management
To use the C++ SDK when creating your tool's back end, you need to create a C++ file. The file name should relate to the tool name, and the file needs to be saved in the tool folder.
This file needs to use data gathered from the data stream and manipulate the data in accordance with the user input from the tool's GUI. It is recommended that you create the front end first to connect to the tool's data items. If you have not already created the front end, see HTML GUI SDK or Macro.
The C++ SDK uses a template class that easily manages the information necessary to call a tool’s entry point, including:
- A Unique Id
- A Pointer to the EngineInterface Struct
- The XML Data of the Tool Configuration
- An Empty PluginInterface Struct
The entry point then fills the empty PluginInterface struct with pointers to each of five methods that are required for the tool to run.
If the tool also processes data, Designer calls the AddIncomingConnection method. The tool must fill in an IncomingConnectionInterface struct with pointers to each of four methods used to process data.
Recompiling a Code
To recompile a code, proceed with these function signatures.
- FieldSchema(const StringNoCase strFieldName, E_FieldType ft, unsigned nSize, int nScale, String strSource = String(), String strDescription = String())
- FieldSchema(const StringNoCase &strFieldName, E_FieldType ft, unsigned nSize, int nScale, String strSource = String(), String strDescription = String()
- FieldBase(const StringNoCase strFieldName, E_FieldType ft, const int nRawSize, bool bIsVarLength, int nSize, int nScale);
- FieldBase(const StringNoCase& strFieldName, E_FieldType ft, const int nRawSize, bool bIsVarLength, int nSize, int nScale).
Build Your Own Tool Checklist
- Create a folder with the name of your tool. See Build Custom Tools.
- Create icon and save it inside the tool folder. See Build Custom Tools.
- Create a GUI file and save it inside the folder. See HTML GUI SDK.
- Create your back end and save it inside the folder. See C++ SDK, Macro, and Python SDK.
- Create a configuration file and save it inside the folder. See Tool Configuration File.
- Create a package configuration file and save it with the folder. Package a Tool.
- Package the package configuration file and tool folder as a yxi. See Package a Tool.