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.