Developing for Chameleon
Developing Chameleon plug-ins is intended to be quick and simple. However, a basic grasp of software concepts is required and will be assumed for the purpose of this discussion. Elsewhere in this site are examples in C++/CLR, C#, JScript .NET, Python, and VB.net.
Chameleon plug-ins must implement 8 required functions:
- Author: Must return the name of the person who wrote this plug-in.
- Description: Must return a description of this plug-in.
- Category: Must return the category this plug-in should be placed in. For Python plug-ins, the period-delimited string is used to place this plug-in appropriately in the checkbox tree.
- ExpectedInput: Must return a description of the expected input for this plug-in.
- Output: Must return a description of the output for this plug-in.
- Initialize: Must return a boolean, indicating whether execution should proceed (should verify all input is valid). This function also accepts parameters containing the array of data files to be processed, and a pointer for providing feedback to the client. Python plug-ins also receive the 'commandLineArgs' property through the Initialize function.
- Execute: Must contain core plug-in logic and return a boolean indicating whether it was successfully executed.
- Clean: Must clean up any dynamically allocated objects.
.Net Chameleon plug-ins must also implement:
- Save: Must return any custom property settings in string format for saving by the client.
- Load: Must accept a string of saved property settings to be loaded. Must return a boolean indicating whether load was successful.