Compiled Plug-ins
A compiled plug-in may be used if the performance of a scripted plug-in becomes an issue.
A compiled plug-in is derived from the same base class as the interpreted plug-ins, and follow the same basic flow. Unlike an interpreter-based plug-in, however, each compiled plug-in is a shared library that contains code that derives from a plug-in interface class. No libraries are required to implement a plug-in, only the publicly available interface file IPlugin.h.
To implement a C++ plug-in, author a class derived from the interface IPlugin:
- TableInfo
- The TableInfo object provides methods for accessing table properties, and is passed to the Begin and End events.
- RecordInfo
- The RecordInfo object supports record queries and can be called in the OnRecord event only.
- RecordAction
- The RecordAction object supports adding records to the destination table with the AddRecord method.
Note that there is no prefix or suffix on the plug-in shared library. This allows platform differences to be factored out, such as extension (.so, .sl, .dll), and prefix (lib).