D_GET_IDENTITY (event based plugins)
This page applies to Harlequin v13.1r0 and later; and to Harlequin MultiRIP but not Harlequin Core
D_GET_IDENTITY Selector
Parameter: IdentityParam *param
Call type: Single‐call
This is the second call any plugin receives from the RIP, after D_SELECTOR_SUPPORT
has been called to ensure that D_GET_IDENTITY
is supported. It confirms the type of plugin (PT_EVENTBASED
), and allows the plugin to decide if it will run with the supplied version of the plugin interface.
If D_GET_IDENTITY
is not supported, the plugin is assumed to be a legacy output plugin.
Note: Any other kind of plugin introduced in the future will also be identified using this call.
Versioning is accomplished by the last three fields in the IdentityParam
structure. This structure is passed to the plugin by the RIP with the plugin interface numbers set. In response, the plugin should set fVersionOK
to TRUE
if it can run.
typedef struct { int32 version ; int32 pluginType ;
int32 protocolVersion ;
int32 pluginInterfaceMajorVersion ; int32 pluginInterfaceMinorVerson ; int32 fVersionOK ;
} IdentityParam ;
Plugins should be compiled for the earliest version of the RIP in which they can run. The fVersionOK
field is used to inform the RIP whether the plugin can run with a given version of the RIP.
pluginType
Event based modules must set this field to PT_EVENTBASED
.
protocolVersion
This field is not relevant to event-based plugins and should be set to 0
(zero)
pluginInterfaceMajorVersion and pluginInterfaceMinorVersion
These fields are set by the RIP to specify the major and minor plugin interface version numbers, respectively. Version 18.11 is the plugin interface version for version 7.2 of the RIP and version 20.2 is for version 10.1 of the RIP. Numbers may not be incremented if no non‐backward‐compatible changes to the interface are made.
fVersionOK
If the plugin can run with the given version of the RIP, this field should be set to TRUE
. If this field is set to FALSE
, further loading or use of the plugin is prevented.
The CHECK_VERSION
macro is provided to simplify this:
p->fVersionOK = CHECK_VERSION (p, 20, 2);
This indicates that the plugin runs with any RIP implementing plugin interface version 20.2 or higher.