ADTF  3.15.3
IReferenceClock::ITimeBarrierabstract

Interface for communicating instants of time to the clock. More...

Inheritance diagram for IReferenceClock::ITimeBarrier:
[legend]

Public Types

enum class  tTimePointId : uint8_t { Begin = 0 , End = 1 }
 The two time points of a barrier. More...
 

Public Member Functions

virtual tResult WaitUntilBegin () const =0
 Waits until the time has reached or passed the beginning of the barrier. More...
 
virtual adtf::base::flash::tNanoSeconds GetTimePoint (tTimePointId eTimePointId) const =0
 
virtual bool IsBroken (tTimePointId eTimePointId) const =0
 
- Public Member Functions inherited from IObject
 ADTF_IID (IObject, "object.ant.ucom.adtf.iid")
 Marks the IObject to be castable with the ucom_cast() More...
 

Additional Inherited Members

- Protected Member Functions inherited from IObject
 ~IObject ()=default
 Protected destructor --> Use implemented Destroy() instead of delete!
 

Detailed Description

Interface for communicating instants of time to the clock.

See also
Time Barrier Architecture

Definition at line 611 of file reference_clock_intf.h.

Member Enumeration Documentation

◆ tTimePointId

enum tTimePointId : uint8_t
strong

The two time points of a barrier.

Enumerator
Begin 

The begin time point.

End 

The end time point.

Definition at line 625 of file reference_clock_intf.h.

Member Function Documentation

◆ GetTimePoint()

virtual adtf::base::flash::tNanoSeconds GetTimePoint ( tTimePointId  eTimePointId) const
pure virtual
Parameters
[in]eTimePointIdWhether to return the beginning or the end of the barrier.
Returns
Depending on eTimePointId, either the begin or end time point of the barrier.

◆ IsBroken()

virtual bool IsBroken ( tTimePointId  eTimePointId) const
pure virtual
Parameters
[in]eTimePointIdWhether to check the beginning or the end of the barrier.
Returns
Whether or not the barrier has been broken.

◆ WaitUntilBegin()

virtual tResult WaitUntilBegin ( ) const
pure virtual

Waits until the time has reached or passed the beginning of the barrier.

Return values
ERR_CANCELLEDEither ITimeGuard::Cancel() was called or the clock is being destroyed.
ERR_RETRYThe time base has changed. You need to create a new Barrier with ITimeGuard::CreateBarrier().