ITriggerMatchSignal

class ITriggerMatchSignal : virtual public ICommandBase

To block the queue by waiting for a signal to match a particular value, a command of type IWaitMatchSignal is queued.

Remarks

The signal value to wait for may be reached as a consequence of execution of some other command, e.g. a move command, which then by definition must be queued prior to the command of type IWaitMatchSignal. To prevent race conditions from happening, i.e. to prevent waiting for a particular signal value that already (shortly) had that value, matching of a signal value can be triggered. This is achieved by configuring this command with the interface of the command of type IWaitMatchSignal specifying the signal and its value to wait for. If this signal value is reached between execution of the command of type ITriggerMatchSignal and its associated command of type IWaitMatchSignal, the queue will not be blocked on execution of the latter.

A command of type ITriggerMatchSignal is always queued prior to queueing of the command of type IWaitMatchSignal it is configured with.

Note that it is not mandatory for a command of type IWaitMatchSignal to have a command of this type associated.

virtual ITriggerMatchSignal::~ITriggerMatchSignal()

virtual PWaitMatchSignal ITriggerMatchSignal::GetConfiguration() = 0

virtual void ITriggerMatchSignal::SetConfiguration(PWaitMatchSignal waitmatch) = 0