PSDEV plugin startup call sequence
This page applies to Harlequin v13.1r0 and later; and to Harlequin MultiRIP but not Harlequin Core
The initialization sequence for an input plugin involves the following selector calls:
- D_SELECTOR_SUPPORT query on D_GET_IDENTITY.
- D_GET_IDENTITY. This call identifies the type of the plugin.
- D_GEN_BOOT. Allows the plugin to tell the RIP how much memory should be allocated for it.
- D_PLUGIN_INITIALISE This call allows the plugin to set up any initial state information it needs.
- D_SECURITY Allows the plugin to verify that it can work with this copy of the RIP and with the dongle attached.
- D_PSDEV_INITDEVICETYPES This call provides another initialization opportunity for the plugin, some helper function pointers and also provides some version information about the RIP
The call occurs after the first call to D_GEN_SECURITY and implies that the plugin will indeed be expected to perform some actual work. The plugin need not necessarily have a use for the RIP version information, or the helper function pointers provided by this call, but generally the plugin will take a copy of the structure provided for retention in its static state. - D_PSDEV_NUMDEVTYPES Requests from the plugin the number of device types supported by the plugin.
- D_PSDEV_GETDEVTYPE Requests the plugin to supply one DEVICETYPE structure. Called repeatedly for as many structures as notified by D_PSDEV_NUMDEVICETYPES.