Plugin channel device type, 15
This page applies to Harlequin v13.1r0 and later; to Harlequin MultiRIP only.
The Harlequin MultiRIP uses device type 15 to communicate with all file-like input plugin channel classes (see Input plugins). (It also uses type 16 for plugin filters—see Filters.)
Plugin channels created using the Input Controller are automatically mounted when first used as the source of a job. (This is done using the file Config/Inputs
which uses the procset HqnPluginIO
.)
However, you must mount PostScript-managed channels explicitly (see Channels managed from the PostScript language in an input plugin). All such mounts must include the device parameter ChannelClass
:
ChannelClass (device param)
string
The name of the channel class in a plugin with which the device is to be associated. This name must have been exported by one of the plugins in a ChannelClassDescription
structure for setdevparams
to succeed.
Additional parameters are specific to each channel class. However, because the core-RIP sees ChannelClass
and all the other parameters of the specific channel class simply as parameters of a type 15 device, there is no guarantee that ChannelClass
is delivered to the device before any other class-specific parameters if they are all included in one call of setdevparams
. Therefore, it is necessary to defer initialization of any class-specific parameters to a second call of setdevparams
.
Consider a type 15 plugin device that we want to call %GGS_logger%
and that was implemented with a single class-specific string parameter IPAddress
. The mount sequence looks like this:
(%GGS_logger%)
dup devmount pop
dup <<
/DeviceType 15
/Enable true
/SearchOrder -1
/ChannelClass (GGS_Network)
>> setdevparams
<<
/IPAddress (192.168.0.100)
>> setdevparams
To avoid name clashes, we recommend using your company name or OEM number in the device names and channel class names, as in the example above.