openDAQ
Open data acquisition platform
IDeviceDomain Struct Referenceabstract

Contains information about the domain of the device. More...

+ Inheritance diagram for IDeviceDomain:
+ Collaboration diagram for IDeviceDomain:

Detailed Description

Contains information about the domain of the device.

The device domain contains a general view into the device's domain data. While devices most often operate in the time domain, this interface allows for description of any other domain commonly used in signal processing. For example, common domains include the angle domain, frequency domain, the spatial domain, and the wavelet domain.

The device domain allows for users to query a device for its current domain value via getTicksSinceOrigin and convert that into its domain unit by multiplying the tick count with the resolution. To get the absolute domain value, we can then also add the value to the Origin, which is most often provided as a time epoch in the ISO 8601 format.

Note that all devices might note provide a device domain implementation. Such devices cannot be directly queried for their domain data. In such a case, the domain data can be obtained through the device's output signals.

Public Member Functions

virtual ErrCode INTERFACE_FUNC getTickResolution (IRatio **tickResolution)=0
 Gets domain (usually time) between two consecutive ticks. Resolution is provided in a domain unit. More...
 
virtual ErrCode INTERFACE_FUNC getOrigin (IString **origin)=0
 Gets the device's absolute origin. Most often this is a time epoch in the ISO 8601 format. More...
 
virtual ErrCode INTERFACE_FUNC getUnit (IUnit **unit)=0
 Gets the domain unit (eg. seconds, hours, degrees...) More...
 
virtual ErrCode INTERFACE_FUNC getReferenceDomainInfo (IReferenceDomainInfo **referenceDomainInfo)=0
 Gets the Reference Domain Info. 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

◆ getOrigin()

virtual ErrCode INTERFACE_FUNC getOrigin ( IString **  origin)
pure virtual

Gets the device's absolute origin. Most often this is a time epoch in the ISO 8601 format.

Parameters
[out]originThe origin.

◆ getReferenceDomainInfo()

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

Gets the Reference Domain Info.

Parameters
[out]referenceDomainInfoThe Reference Domain Info.

If set, gives additional information about the reference domain.

◆ getTickResolution()

virtual ErrCode INTERFACE_FUNC getTickResolution ( IRatio **  tickResolution)
pure virtual

Gets domain (usually time) between two consecutive ticks. Resolution is provided in a domain unit.

Parameters
[out]tickResolutionThe device's resolution.

◆ getUnit()

virtual ErrCode INTERFACE_FUNC getUnit ( IUnit **  unit)
pure virtual

Gets the domain unit (eg. seconds, hours, degrees...)

Parameters
[out]unitThe domain unit.