D_GEN_SECURITY_NAME
This page applies to Harlequin v13.1r0 and later; and to Harlequin MultiRIP but not Harlequin Core
D_GEN_SECURITY_NAME Selector
Parameter: devSecurityNameParam * SecurityNameParam
The RIP or the plugin may require a password or LDK feature to protect/enable a plugin before enabling the use of a plugin, as described for D_GEN_PASSWORD_PROTECTED . Implementing this selector allows you to choose the option name presented when requesting a pass‐ word from the user and possibly to reduce the number of passwords required from the user when enabling related devices.
When the security device or a prior call to D_GEN_PASSWORD_PROTECTED
indicates that the plugin requires a password, the RIP calls this selector: once for each plugin to determine the requirements of a single device plugin, or once for each device type supported by a multiple device type plugin.
The possibilities are:
- The plugin does not support this selector.
- The plugin or device type can return plugin and security names that the RIP will use when asking for a password.
If a password is required, but this selector is not implemented, the RIP generates the plugin and security names for itself.
- The plugin name is derived in a platform‐specific way from the filename on PC platforms (for example,
op_plug.i32
), and from theHqoD
resource on Macintosh computers. - The security name is the
name
field returned from the device capabilities structure (for example,
op_plug
). See The HqnDeviceCapabilities structure
.
If the plugin supports this selector, then the RIP will call it once for every module implemented by the plugin, after calling D_FIND_DEVICE
. At this point the d_capabilities
field of the deviceDefinition
is not filled in, so the plugin must remember the device identifier itself if the same names are not being used for all of the devices in the plugin.
If this selector returns NOERR
then the plugin has a composite security name, returned using the parameter described here:
#define SECURITY_NAME_STRLEN 32
typedef struct devSecurityNameParam {
uint8 atbzPluginName [SECURITY_NAME_STRLEN]; uint8 atbzSecurityName[SECURITY_NAME_STRLEN];
} devSecurityNameParam;
Each distinct value of this parameter produces a separate entry, visible in the Extras dialog box in the RIP and requiring a different password to enable the relevant plugins or device types. By choosing appropriate (shared) values for the names described in atbzPluginName and atbzSecurityName,you can produce groupings of plugins, devices, or both; all represented by one entry.
However, you choose the names, you must declare all the names to Global Graphics so that suitable passwords can be supplied.
To ensure the security of your plugin, you must also supply a copy of the plugin file so that Global Graphics can protect the plugin against subsequent tampering, and then return the protected plugin to you for issue to your customers.
atbzPluginName
To create a unique entry for each plugin, the plugin should copy its own name into this 32‐byte string buffer. To create an entry that groups related plugins, the plugin should enter a more generic shared name. For example, you could choose the name of your organization to group all plugins that you write.
atbzSecurityName
To create a unique entry for each device, the plugin should copy the device name (or the current device name for a multiple‐device plugin) into this 32‐byte string buffer. To create an entry that groups related devices, the plugin should enter a more generic shared name.
Enabling options in the Extras dialog box
For each composite security name used by the installed plugins, a new entry appears in the Extras dialog box accessed from the Configure RIP dialog box. This entry takes the general form:
<Plug-in Name>, <Security Name>
The <Plug-in Name>
and the <Security Name>
are the values of atbzPluginName
and atbzSecurityName
, respectively. For example, the second example output plugin in the plugin kit is called opeg2
and has security names EgFlat
, Infinity
, and EgRound
. When installed, this plugin pro‐ vides three entries of the form: opeg2, EgFlat
and so on.
If the user selects an entry for a device and clicks Add then the RIP prompts the user for a password, as with other Extras features. Provided that the password is correct, the RIP enables the device.