openDAQ
Open data acquisition platform
IMultiReaderBuilder Struct Referenceabstract

Builder component of Multi reader objects. Contains setter methods to configure the Multi reader parameters and a build method that builds the Unit object. More...

+ Inheritance diagram for IMultiReaderBuilder:
+ Collaboration diagram for IMultiReaderBuilder:

Detailed Description

Builder component of Multi reader objects. Contains setter methods to configure the Multi reader parameters and a build method that builds the Unit object.

Public Member Functions

virtual ErrCode INTERFACE_FUNC build (IMultiReader **multiReader)=0
 Builds and returns a Multi reader object using the currently set values of the Builder. More...
 
virtual ErrCode INTERFACE_FUNC addSignal (ISignal *signal)=0
 Adds a signal that will be read by the multi reader. More...
 
virtual ErrCode INTERFACE_FUNC addSignals (IList *signals)=0
 Adds signals that will be read by the multi reader. More...
 
virtual ErrCode INTERFACE_FUNC addInputPort (IInputPort *port)=0
 Adds a port that will be read from by the multi reader. More...
 
virtual ErrCode INTERFACE_FUNC addInputPorts (IList *ports)=0
 Adds ports that will be read from by the multi reader. More...
 
virtual ErrCode INTERFACE_FUNC getSourceComponents (IList **components)=0
 Gets the list of read components (signals or ports) More...
 
virtual ErrCode INTERFACE_FUNC setValueReadType (SampleType type)=0
 Sets the value signal read type. More...
 
virtual ErrCode INTERFACE_FUNC getValueReadType (SampleType *type)=0
 Gets the value signal read type. More...
 
virtual ErrCode INTERFACE_FUNC setDomainReadType (SampleType type)=0
 Sets the domain signal read type. More...
 
virtual ErrCode INTERFACE_FUNC getDomainReadType (SampleType *type)=0
 Gets the domain signal read type. More...
 
virtual ErrCode INTERFACE_FUNC setReadMode (ReadMode mode)=0
 Sets the read mode (Unscaled, Scaled, RawValue) More...
 
virtual ErrCode INTERFACE_FUNC getReadMode (ReadMode *mode)=0
 Gets the read mode (Unscaled, Scaled, RawValue) More...
 
virtual ErrCode INTERFACE_FUNC setReadTimeoutType (ReadTimeoutType type)=0
 Sets the read timeout mode. More...
 
virtual ErrCode INTERFACE_FUNC getReadTimeoutType (ReadTimeoutType *type)=0
 Gets the read timeout mode. More...
 
virtual ErrCode INTERFACE_FUNC setRequiredCommonSampleRate (Int sampleRate)=0
 Sets the required common sample rate. More...
 
virtual ErrCode INTERFACE_FUNC getRequiredCommonSampleRate (Int *sampleRate)=0
 Gets the required common sample rate. More...
 
virtual ErrCode INTERFACE_FUNC setStartOnFullUnitOfDomain (Bool enabled)=0
 Sets the start on full unit of domain. More...
 
virtual ErrCode INTERFACE_FUNC getStartOnFullUnitOfDomain (Bool *enabled)=0
 Gets the start on full unit of domain. More...
 
virtual ErrCode INTERFACE_FUNC setMinReadCount (SizeT minReadCount)=0
 Sets the minimal number of samples to read. More...
 
virtual ErrCode INTERFACE_FUNC getMinReadCount (SizeT *minReadCount)=0
 Gets the minimal number of samples to read. More...
 
virtual ErrCode INTERFACE_FUNC setTickOffsetTolerance (IRatio *offsetTolerance)=0
 Set maximum distance between signals in fractions of domain unit. More...
 
virtual ErrCode INTERFACE_FUNC getTickOffsetTolerance (IRatio **offsetTolerance)=0
 Get maximum distance between signals in fractions of domain unit. More...
 
virtual ErrCode INTERFACE_FUNC setAllowDifferentSamplingRates (Bool allowDifferentRates)=0
 Sets the "AllowDifferentSamplingRates" multi reader parameter. More...
 
virtual ErrCode INTERFACE_FUNC getAllowDifferentSamplingRates (Bool *allowDifferentRates)=0
 Gets the "AllowDifferentSamplingRates" multi reader parameter. More...
 
virtual ErrCode INTERFACE_FUNC setInputPortNotificationMethod (PacketReadyNotification notificationMethod)=0
 Sets the notification method of ports created/owned by the multi reader. The default notification method is Unspecified. More...
 
virtual ErrCode INTERFACE_FUNC getInputPortNotificationMethod (PacketReadyNotification *notificationMethod)=0
 Gets the notification method of ports created/owned by the multi reader. The default notification method is SameThread. More...
 
virtual ErrCode INTERFACE_FUNC setInputPortNotificationMethods (IList *notificationMethods)=0
 Sets the notification methods of ports created/owned by the multi reader. The default notification method is Unspecified. More...
 
virtual ErrCode INTERFACE_FUNC getInputPortNotificationMethods (IList **notificationMethods)=0
 Gets the notification methods of ports created/owned by the multi reader. The default notification method is Unspecified. 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

◆ addInputPort()

virtual ErrCode INTERFACE_FUNC addInputPort ( IInputPort port)
pure virtual

Adds a port that will be read from by the multi reader.

Parameters
portThe port that will be read by the multi reader

◆ addInputPorts()

virtual ErrCode INTERFACE_FUNC addInputPorts ( IList ports)
pure virtual

Adds ports that will be read from by the multi reader.

Parameters
portsThe ports that will be read by the multi reader

◆ addSignal()

virtual ErrCode INTERFACE_FUNC addSignal ( ISignal signal)
pure virtual

Adds a signal that will be read by the multi reader.

Parameters
signalThe signal that will be read by the multi reader

◆ addSignals()

virtual ErrCode INTERFACE_FUNC addSignals ( IList signals)
pure virtual

Adds signals that will be read by the multi reader.

Parameters
signalsThe signals that will be read by the multi reader

◆ build()

virtual ErrCode INTERFACE_FUNC build ( IMultiReader **  multiReader)
pure virtual

Builds and returns a Multi reader object using the currently set values of the Builder.

Parameters
[out]multiReaderThe built Multi reader.

◆ getAllowDifferentSamplingRates()

virtual ErrCode INTERFACE_FUNC getAllowDifferentSamplingRates ( Bool *  allowDifferentRates)
pure virtual

Gets the "AllowDifferentSamplingRates" multi reader parameter.

Parameters
allowDifferentRatesIf set to false, the multi reader will only accept signals with the same sampling rate.

◆ getDomainReadType()

virtual ErrCode INTERFACE_FUNC getDomainReadType ( SampleType *  type)
pure virtual

Gets the domain signal read type.

Parameters
[out]typeThe domain signal read type

◆ getInputPortNotificationMethod()

virtual ErrCode INTERFACE_FUNC getInputPortNotificationMethod ( PacketReadyNotification *  notificationMethod)
pure virtual

Gets the notification method of ports created/owned by the multi reader. The default notification method is SameThread.

Parameters
notificationMethodThe notification method to be used.

If "Unspecified", the reader keeps the mode of the input port. When building with signals, "Unspecified" is an invalid configuration.

◆ getInputPortNotificationMethods()

virtual ErrCode INTERFACE_FUNC getInputPortNotificationMethods ( IList **  notificationMethods)
pure virtual

Gets the notification methods of ports created/owned by the multi reader. The default notification method is Unspecified.

Parameters
notificationMethodsThe notification methods to be used.

The list of methods corresponds to the list of reader components (signals, input ports). Both the size and order of both must match if configured. If a method is set to "Unspecified", the reader keeps the mode of the input port. When building with signals, "Unspecified" is an invalid configuration.

◆ getMinReadCount()

virtual ErrCode INTERFACE_FUNC getMinReadCount ( SizeT *  minReadCount)
pure virtual

Gets the minimal number of samples to read.

Parameters
[out]minReadCountThe minimal number of samples to read.

If set, the reader will return 0 for getAvailableCount if less than minReadCount samples are available. It will also never read less than minReadCount samples. The default value is 1.

◆ getReadMode()

virtual ErrCode INTERFACE_FUNC getReadMode ( ReadMode *  mode)
pure virtual

Gets the read mode (Unscaled, Scaled, RawValue)

Parameters
[out]modeThe read mode

◆ getReadTimeoutType()

virtual ErrCode INTERFACE_FUNC getReadTimeoutType ( ReadTimeoutType type)
pure virtual

Gets the read timeout mode.

Parameters
typeThe timeout mode. if "Any" returns immediately if there is available data otherwise time-out is exceeded. if "All" waiting until timeout and returns available data if existing. otherwise time-out is exceeded.

◆ getRequiredCommonSampleRate()

virtual ErrCode INTERFACE_FUNC getRequiredCommonSampleRate ( Int *  sampleRate)
pure virtual

Gets the required common sample rate.

Parameters
sampleRateThe required common sample rate

◆ getSourceComponents()

virtual ErrCode INTERFACE_FUNC getSourceComponents ( IList **  components)
pure virtual

Gets the list of read components (signals or ports)

Parameters
[out]componentsThe list of read components

◆ getStartOnFullUnitOfDomain()

virtual ErrCode INTERFACE_FUNC getStartOnFullUnitOfDomain ( Bool *  enabled)
pure virtual

Gets the start on full unit of domain.

Parameters
enabledenable/disable start on full unit of domain

◆ getTickOffsetTolerance()

virtual ErrCode INTERFACE_FUNC getTickOffsetTolerance ( IRatio **  offsetTolerance)
pure virtual

Get maximum distance between signals in fractions of domain unit.

Parameters
offsetTolerance[out]Ratio that define offset tolerance as a fraction of domain unit.

◆ getValueReadType()

virtual ErrCode INTERFACE_FUNC getValueReadType ( SampleType *  type)
pure virtual

Gets the value signal read type.

Parameters
[out]typeThe value signal read type

◆ setAllowDifferentSamplingRates()

virtual ErrCode INTERFACE_FUNC setAllowDifferentSamplingRates ( Bool  allowDifferentRates)
pure virtual

Sets the "AllowDifferentSamplingRates" multi reader parameter.

Parameters
allowDifferentRatesIf set to false, the multi reader will only accept signals with the same sampling rate.

◆ setDomainReadType()

virtual ErrCode INTERFACE_FUNC setDomainReadType ( SampleType  type)
pure virtual

Sets the domain signal read type.

Parameters
typeThe domain signal read type

◆ setInputPortNotificationMethod()

virtual ErrCode INTERFACE_FUNC setInputPortNotificationMethod ( PacketReadyNotification  notificationMethod)
pure virtual

Sets the notification method of ports created/owned by the multi reader. The default notification method is Unspecified.

Parameters
notificationMethodThe notification method to be used.

If "Unspecified", the reader keeps the mode of the input port. When building with signals, "Unspecified" is an invalid configuration.

◆ setInputPortNotificationMethods()

virtual ErrCode INTERFACE_FUNC setInputPortNotificationMethods ( IList notificationMethods)
pure virtual

Sets the notification methods of ports created/owned by the multi reader. The default notification method is Unspecified.

Parameters
notificationMethodsThe notification methods to be used.

The list of methods corresponds to the list of reader components (signals, input ports). Both the size and order of both must match if configured. If a method is set to "Unspecified", the reader keeps the mode of the input port. When building with signals, "Unspecified" is an invalid configuration.

◆ setMinReadCount()

virtual ErrCode INTERFACE_FUNC setMinReadCount ( SizeT  minReadCount)
pure virtual

Sets the minimal number of samples to read.

Parameters
minReadCountThe minimal number of samples to read.

If set, the reader will return 0 for getAvailableCount if less than minReadCount samples are available. It will also never read less than minReadCount samples. The default value is 1.

◆ setReadMode()

virtual ErrCode INTERFACE_FUNC setReadMode ( ReadMode  mode)
pure virtual

Sets the read mode (Unscaled, Scaled, RawValue)

Parameters
modeThe read mode

◆ setReadTimeoutType()

virtual ErrCode INTERFACE_FUNC setReadTimeoutType ( ReadTimeoutType  type)
pure virtual

Sets the read timeout mode.

Parameters
typeThe timeout mode. if "Any" returns immediately if there is available data otherwise time-out is exceeded. if "All" waiting until timeout and returns available data if existing. otherwise time-out is exceeded.

NOTE: THIS IS CURRENTLY IGNORED AND IS ALWAYS SET TO ReadTimeoutType::All

◆ setRequiredCommonSampleRate()

virtual ErrCode INTERFACE_FUNC setRequiredCommonSampleRate ( Int  sampleRate)
pure virtual

Sets the required common sample rate.

Parameters
sampleRateThe required common sample rate

◆ setStartOnFullUnitOfDomain()

virtual ErrCode INTERFACE_FUNC setStartOnFullUnitOfDomain ( Bool  enabled)
pure virtual

Sets the start on full unit of domain.

Parameters
enabledenable/disable start on full unit of domain

◆ setTickOffsetTolerance()

virtual ErrCode INTERFACE_FUNC setTickOffsetTolerance ( IRatio offsetTolerance)
pure virtual

Set maximum distance between signals in fractions of domain unit.

Parameters
offsetToleranceRatio that define offset tolerance as a fraction of domain unit.

◆ setValueReadType()

virtual ErrCode INTERFACE_FUNC setValueReadType ( SampleType  type)
pure virtual

Sets the value signal read type.

Parameters
typeThe value signal read type