openDAQ
Open data acquisition platform
IStreaming Struct Referenceabstract

Represents the client-side part of a streaming service responsible for initiating communication with the openDAQ device streaming server and processing the received data. Wraps the client-side implementation details of the particular data transfer protocol used by openDAQ to send processed/acquired data from devices running an openDAQ Server to an openDAQ Client. More...

+ Inheritance diagram for IStreaming:
+ Collaboration diagram for IStreaming:

Detailed Description

Represents the client-side part of a streaming service responsible for initiating communication with the openDAQ device streaming server and processing the received data. Wraps the client-side implementation details of the particular data transfer protocol used by openDAQ to send processed/acquired data from devices running an openDAQ Server to an openDAQ Client.

The Streaming is used as a selectable data source for mirrored signals. For this, it provides methods, allowing mirrored signals to be added/removed dynamically, to enable/disable the use of Streaming as a data source of these signals. Forwarding of packets received from the remote device through the data transfer protocol down to the signal path is enabled when the following conditions are met:

  • Streaming object itself is in active state.
  • Streaming is selected as an active source of the corresponding signal.

Usually, the data transfer protocol provides information about the signals whose data can be sent over the protocol. It allows the implementation to reject unsupported signals from being added to the streaming. Each Streaming object provides the string representation of a connection address used to connect to the streaming service of the device. This string representation is used as a unique ID to determine the streaming source for the mirrored signal.

Public Member Functions

virtual ErrCode INTERFACE_FUNC getActive (Bool *active)=0
 Gets the active state of the Streaming. More...
 
virtual ErrCode INTERFACE_FUNC setActive (Bool active)=0
 Sets the Streaming to be either active or inactive. More...
 
virtual ErrCode INTERFACE_FUNC addSignals (IList *signals)=0
 Adds signals to the Streaming. More...
 
virtual ErrCode INTERFACE_FUNC removeSignals (IList *signals)=0
 Removes signals from the Streaming. More...
 
virtual ErrCode INTERFACE_FUNC removeAllSignals ()=0
 Removes all added signals from the Streaming.
 
virtual ErrCode INTERFACE_FUNC getConnectionString (IString **connectionString) const =0
 Gets the string representation of a connection address used to connect to the streaming service of the device. 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

◆ addSignals()

virtual ErrCode INTERFACE_FUNC addSignals ( IList signals)
pure virtual

Adds signals to the Streaming.

Parameters
signalsThe list of signals to be added.
Return values
OPENDAQ_ERR_DUPLICATEITEMif a signal on the list is already added to the Streaming.
OPENDAQ_ERR_NOINTERFACEif a signal on the list is not a mirrored signal.

After a signal is added to the Streaming, the Streaming automatically appears in the list of available streaming sources of a signal.

◆ getActive()

virtual ErrCode INTERFACE_FUNC getActive ( Bool *  active)
pure virtual

Gets the active state of the Streaming.

Parameters
[out]activeTrue if the Streaming is active; false otherwise.

◆ getConnectionString()

virtual ErrCode INTERFACE_FUNC getConnectionString ( IString **  connectionString) const
pure virtual

Gets the string representation of a connection address used to connect to the streaming service of the device.

Parameters
[out]connectionStringThe string used to connect to the streaming service.

◆ removeSignals()

virtual ErrCode INTERFACE_FUNC removeSignals ( IList signals)
pure virtual

Removes signals from the Streaming.

Parameters
signalsThe list of signals to be removed.
Return values
OPENDAQ_ERR_NOTFOUNDif a signal on the list was not added to the Streaming.

After a signal is removed from the Streaming, the Streaming is automatically excluded in the list of available streaming sources of a signal.

◆ setActive()

virtual ErrCode INTERFACE_FUNC setActive ( Bool  active)
pure virtual

Sets the Streaming to be either active or inactive.

Parameters
activeThe new active state of the Streaming.