openDAQ
Open data acquisition platform
IReferenceDomainInfoBuilder Struct Referenceabstract

Builder component of Reference Domain Info objects. Contains setter methods that allow for Reference Domain Info parameter configuration, and a build method that builds the Reference Domain Info. More...

+ Inheritance diagram for IReferenceDomainInfoBuilder:
+ Collaboration diagram for IReferenceDomainInfoBuilder:

Detailed Description

Builder component of Reference Domain Info objects. Contains setter methods that allow for Reference Domain Info parameter configuration, and a build method that builds the Reference Domain Info.

Public Member Functions

virtual ErrCode INTERFACE_FUNC build (IReferenceDomainInfo **referenceDomainInfo)=0
 Builds and returns a Reference Domain Info object using the currently set values of the Builder. More...
 
virtual ErrCode INTERFACE_FUNC setReferenceDomainId (IString *referenceDomainId)=0
 Sets the Reference Domain ID. More...
 
virtual ErrCode INTERFACE_FUNC getReferenceDomainId (IString **referenceDomainId)=0
 Gets the Reference Domain ID. More...
 
virtual ErrCode INTERFACE_FUNC setReferenceDomainOffset (IInteger *referenceDomainOffset)=0
 Sets the Reference Domain Offset. More...
 
virtual ErrCode INTERFACE_FUNC getReferenceDomainOffset (IInteger **referenceDomainOffset)=0
 Gets the Reference Domain Offset. More...
 
virtual ErrCode INTERFACE_FUNC setReferenceTimeSource (TimeSource referenceTimeSource)=0
 Sets the value that indicates the Reference Time Source. More...
 
virtual ErrCode INTERFACE_FUNC getReferenceTimeSource (TimeSource *referenceTimeSource)=0
 Gets the value that indicates the Reference Time Source. More...
 
virtual ErrCode INTERFACE_FUNC setUsesOffset (UsesOffset usesOffset)=0
 Sets the value that indicates if offset is used. More...
 
virtual ErrCode INTERFACE_FUNC getUsesOffset (UsesOffset *usesOffset)=0
 Gets the value that indicates if offset is used. More...
 
- Public Member Functions inherited from IBaseObject
virtual ErrCode INTERFACE_FUNC borrowInterface (const IntfID &intfID, void **obj) const =0
 Returns another interface which is supported by the object without incrementing the reference count. More...
 
virtual ErrCode INTERFACE_FUNC dispose ()=0
 Disposes all references held by the object. More...
 
virtual ErrCode INTERFACE_FUNC getHashCode (SizeT *hashCode)=0
 Returns hash code of the object. More...
 
virtual ErrCode INTERFACE_FUNC equals (IBaseObject *other, Bool *equal) const =0
 Compares object to another object for equality. More...
 
virtual ErrCode INTERFACE_FUNC toString (CharPtr *str)=0
 Returns a string representation of the object. More...
 
- Public Member Functions inherited from IUnknown
virtual ErrCode INTERFACE_FUNC queryInterface (const IntfID &intfID, void **obj)=0
 Returns another interface which is supported by the object and increments the reference count. More...
 
virtual int INTERFACE_FUNC addRef ()=0
 Increments the reference count for an interface on an object. More...
 
virtual int INTERFACE_FUNC releaseRef ()=0
 Decrements the reference count for an interface on an object. More...
 

Member Function Documentation

◆ build()

virtual ErrCode INTERFACE_FUNC build ( IReferenceDomainInfo **  referenceDomainInfo)
pure virtual

Builds and returns a Reference Domain Info object using the currently set values of the Builder.

Parameters
[out]referenceDomainInfoThe built Reference Domain Info.

◆ getReferenceDomainId()

virtual ErrCode INTERFACE_FUNC getReferenceDomainId ( IString **  referenceDomainId)
pure virtual

Gets the Reference Domain ID.

Parameters
[out]referenceDomainIdThe Reference Domain ID.

If set, gives the common identifier of one domain group. Signals with the same Reference Domain ID share a common synchronization source (all the signals in a group either come from the same device or are synchronized using a protocol, such as PTP, NTP, IRIG, etc.). Those signals can always be read together, implying that a Multi Reader can be used to read the signals if their sampling rates are compatible.

◆ getReferenceDomainOffset()

virtual ErrCode INTERFACE_FUNC getReferenceDomainOffset ( IInteger **  referenceDomainOffset)
pure virtual

Gets the Reference Domain Offset.

Parameters
[out]referenceDomainOffsetThe Reference Domain Offset.

If set, denotes the offset in ticks that must be added to the domain values of the signal for them to be equal to that of the sync source. The sync source will always have an offset of 0. This offset is changed only if the sync source changes and should be kept at 0 otherwise, allowing clients to differentiate between data loss and resync events. Any device can choose to always keep the offset at 0, representing changes in the offset in the domain packet values instead. This implementation prevents clients from differentiating between errors (data loss) and resync events. Additionally, if the offset is not configured, clients have no way of detecting a resync event in the case of asynchronous signals.

◆ getReferenceTimeSource()

virtual ErrCode INTERFACE_FUNC getReferenceTimeSource ( TimeSource *  referenceTimeSource)
pure virtual

Gets the value that indicates the Reference Time Source.

Parameters
[out]referenceTimeSourceThe value that indicates the Reference Time Source.

If not set to Unknown, the domain quantity is “time”, and the timestamps are absolute according to the chosen time standard. The possible values are Gps, Tai, and Utc. This field is used to determine if two signals with different Domain IDs can be read together. Signals that have configured a Reference Time Source are trusted to have absolute time stamps that correlate to the chosen time standard (eg. two separate PTP networks, both driven through GPS can be read together, as their absolute time is the same).

◆ getUsesOffset()

virtual ErrCode INTERFACE_FUNC getUsesOffset ( UsesOffset *  usesOffset)
pure virtual

Gets the value that indicates if offset is used.

Parameters
[out]usesOffsetThe value that indicates if offset is used.

If False, a device will contain time jumps due to resync in the domain signal data.

◆ setReferenceDomainId()

virtual ErrCode INTERFACE_FUNC setReferenceDomainId ( IString referenceDomainId)
pure virtual

Sets the Reference Domain ID.

Parameters
referenceDomainIdThe Reference Domain ID.

If set, gives the common identifier of one domain group. Signals with the same Reference Domain ID share a common synchronization source (all the signals in a group either come from the same device or are synchronized using a protocol, such as PTP, NTP, IRIG, etc.). Those signals can always be read together, implying that a Multi Reader can be used to read the signals if their sampling rates are compatible.

◆ setReferenceDomainOffset()

virtual ErrCode INTERFACE_FUNC setReferenceDomainOffset ( IInteger referenceDomainOffset)
pure virtual

Sets the Reference Domain Offset.

Parameters
referenceDomainOffsetThe Reference Domain Offset.

If set, denotes the offset in ticks that must be added to the domain values of the signal for them to be equal to that of the sync source. The sync source will always have an offset of 0. This offset is changed only if the sync source changes and should be kept at 0 otherwise, allowing clients to differentiate between data loss and resync events. Any device can choose to always keep the offset at 0, representing changes in the offset in the domain packet values instead. This implementation prevents clients from differentiating between errors (data loss) and resync events. Additionally, if the offset is not configured, clients have no way of detecting a resync event in the case of asynchronous signals.

◆ setReferenceTimeSource()

virtual ErrCode INTERFACE_FUNC setReferenceTimeSource ( TimeSource  referenceTimeSource)
pure virtual

Sets the value that indicates the Reference Time Source.

Parameters
referenceTimeSourceThe value that indicates the Reference Time Source.

If not set to Unknown, the domain quantity is “time”, and the timestamps are absolute according to the chosen time standard. The possible values are Gps, Tai, and Utc. This field is used to determine if two signals with different Domain IDs can be read together. Signals that have configured a Reference Time Source are trusted to have absolute time stamps that correlate to the chosen time standard (eg. two separate PTP networks, both driven through GPS can be read together, as their absolute time is the same).

◆ setUsesOffset()

virtual ErrCode INTERFACE_FUNC setUsesOffset ( UsesOffset  usesOffset)
pure virtual

Sets the value that indicates if offset is used.

Parameters
[out]usesOffsetThe value that indicates if offset is used.

If False, a device will contain time jumps due to resync in the domain signal data.