D_IP_CHANNEL_CLASS_DESTROY
This page applies to Harlequin v13.1r0 and later; and to Harlequin MultiRIP but not Harlequin Core
D_IP_CHANNEL_CLASS_DESTROY Selector
Parameter: ChannelClassDestroyParam *param
Call type: Multi‐call
This call occurs only when the RIP is shut down, and is provided for the plugin to take whatever action is necessary to shut down a channel class.
typedef struct channelClassDestroyParam { int32 version ;
ChannelClassContext *channelClassContext ; int32 finalAttempt
MultiCallData multi ;
IPStatus status ;
} ChannelClassDestroyParam ;
version
The version
field should be ignored.
channelClassContext
A pointer to data the RIP holds about the channel class.
finalAttempt
The RIP makes a second attempt to destroy the channel class if the first attempt fails. If the finalAttempt
flag is non‐zero, this is the last attempt that will be made to destroy the channel class. The plugin should therefore take whatever action it can to destroy the channel class. Whatever the result, the ChannelClassContext
and associated memory are deallocated. Any pointers to them become invalid.
multi
Controls the sequence of calls to the selector. See The MultiCallData structure .
status
The plugin should set the IPmajor
field of this IPStatus
structure to IPS_OK
if the call was successful and to IPS_FAIL
otherwise. If IPS_FAIL
is returned, the ChannelClassContext
is left allocated, unless finalAttempt
is set. The RIP calls the plugin again to make one more attempt to destroy the channel class.