WaitMatch¶
-
virtual void ISignal::WaitMatch(const SUint32Condition &condition, double timeout) = 0¶
Waits until the signal matches the specified condition, or the timeout interval is exceeded.
- Parameters
condition – SUint32Condition to wait for.
timeout – Interval in seconds to wait for condition. Negative value means infinite.
- Throws
CInvalidArgumentException
– Invalid condition (e.g. mask is zero) or invalid timeout (NaN).CUnsupportedException
– Condition type not supported for this signal (signal data type must be ESignalDataType::Uint32, ESignalDataType::Enum, ESignalDataType::Mask, ESignalDataType::Bool, ESignalDataType::Uint8, ESignalDataType::Int8, ESignalDataType::Uint16, ESignalDataType::Int16 or ESignalDataType::Int32).CUnsupportedException
– Signal doesn’t support match functionality (see product specific documentation).CInvalidOperationException
– Top-controller state is not “Run”.COutOfResourcesException
– No resources available to wait for condition.CTimeoutException
– Timeout interval exceeded while waiting for condition.CCommunicationErrorException
– Protocol error.CConnectionLostException
– Connection to controller lost.CRebootedException
– Controller has been rebooted since this object reference was retrieved, invalidating this reference.CObjectDestroyedException
– Object is destroyed.
- Remarks
Execution requires one subscription resource.