openDAQ
Open data acquisition platform
ISignal Struct Referenceabstract

A signal with an unique ID that sends event/data packets through connections to input ports the signal is connected to. More...

+ Inheritance diagram for ISignal:
+ Collaboration diagram for ISignal:

Detailed Description

A signal with an unique ID that sends event/data packets through connections to input ports the signal is connected to.

A signal features an unique ID within a given device. It sends data along its signal path to all connected input ports, if its set to be active via its active property.

A signal is visible, and its data is streamed to all clients connected to a device only if its public property is set to True.

Each signal has a domain descriptor, which is set by the owner of the signal - most often a function block or device. The descriptor defines all properties of the signal, such as its name, description and data structure.

Signals can have a reference to another signal, which is used for determining the domain data. The domain signal outputs data at the same rate as the signal itself, providing domain (most often time - timestamps) information for each sample sent along the signal path. Each value packet sent by a signal thus contains a reference to another data packet containing domain data (if the signal is associated with another domain signal).

Additionally, a list of related signals can be defined, containing any signals relevant to interpreting the signal data.

To get the list of connections to input ports of the signal, getConnections can be used.

Public Member Functions

virtual ErrCode INTERFACE_FUNC getPublic (Bool *isPublic)=0
 Returns true if the signal is public; false otherwise. More...
 
virtual ErrCode INTERFACE_FUNC setPublic (Bool isPublic)=0
 Sets the signal to be either public or private. More...
 
virtual ErrCode INTERFACE_FUNC getDescriptor (IDataDescriptor **descriptor)=0
 Gets the signal's data descriptor. More...
 
virtual ErrCode INTERFACE_FUNC getDomainSignal (ISignal **signal)=0
 Gets the signal that carries its domain data. More...
 
virtual ErrCode INTERFACE_FUNC getRelatedSignals (IList **signals)=0
 Gets a list of related signals. More...
 
virtual ErrCode INTERFACE_FUNC getConnections (IList **connections)=0
 Gets the list of connections to input ports formed by the signal. More...
 
virtual ErrCode INTERFACE_FUNC getStreamed (Bool *streamed)=0
 Returns true if the signal is streamed; false otherwise. More...
 
virtual ErrCode INTERFACE_FUNC setStreamed (Bool streamed)=0
 Sets the signal to be either streamed or not. More...
 
virtual ErrCode INTERFACE_FUNC getLastValue (IBaseObject **value)=0
 Gets the signal last value. More...
 
- Public Member Functions inherited from IComponent
virtual ErrCode INTERFACE_FUNC getLocalId (IString **localId)=0
 Gets the local ID of the component. More...
 
virtual ErrCode INTERFACE_FUNC getGlobalId (IString **globalId)=0
 Gets the global ID of the component. More...
 
virtual ErrCode INTERFACE_FUNC getActive (Bool *active)=0
 Returns true if the component is active; false otherwise. More...
 
virtual ErrCode INTERFACE_FUNC setActive (Bool active)=0
 Sets the component to be either active or inactive. Also recursively sets the active field of all child components if component is a folder. More...
 
virtual ErrCode INTERFACE_FUNC getContext (IContext **context)=0
 Gets the context object. More...
 
virtual ErrCode INTERFACE_FUNC getParent (IComponent **parent)=0
 Gets the parent of the component. More...
 
virtual ErrCode INTERFACE_FUNC getName (IString **name)=0
 Gets the name of the component. More...
 
virtual ErrCode INTERFACE_FUNC setName (IString *name)=0
 Sets the name of the component. More...
 
virtual ErrCode INTERFACE_FUNC getDescription (IString **description)=0
 Gets the description of the component. More...
 
virtual ErrCode INTERFACE_FUNC setDescription (IString *description)=0
 Sets the description of the component. More...
 
virtual ErrCode INTERFACE_FUNC getTags (ITags **tags)=0
 Gets the tags of the component. More...
 
virtual ErrCode INTERFACE_FUNC getVisible (Bool *visible)=0
 Gets visible metadata state of the component. More...
 
virtual ErrCode INTERFACE_FUNC setVisible (Bool visible)=0
 Sets visible attribute state of the component. More...
 
virtual ErrCode INTERFACE_FUNC getLockedAttributes (IList **attributes)=0
 Gets a list of the component's locked attributes. The locked attributes cannot be modified via their respective setters. More...
 
virtual ErrCode INTERFACE_FUNC getOnComponentCoreEvent (IEvent **event)=0
 Gets the Core Event object that triggers whenever a change to this component happens within the openDAQ core structure. More...
 
virtual ErrCode INTERFACE_FUNC getStatusContainer (IComponentStatusContainer **statusContainer)=0
 Gets the container of Component statuses. More...
 
virtual ErrCode INTERFACE_FUNC findComponent (IString *id, IComponent **outComponent)=0
 Finds the component (signal/device/function block) with the specified (global) id. More...
 
- Public Member Functions inherited from IPropertyObject
virtual ErrCode INTERFACE_FUNC getClassName (IString **className)=0
 Gets the name of the class the Property object was constructed with. More...
 
virtual ErrCode INTERFACE_FUNC setPropertyValue (IString *propertyName, IBaseObject *value)=0
 Sets the value of the Property with the given name. More...
 
virtual ErrCode INTERFACE_FUNC getPropertyValue (IString *propertyName, IBaseObject **value)=0
 Gets the value of the Property with the given name. More...
 
virtual ErrCode INTERFACE_FUNC getPropertySelectionValue (IString *propertyName, IBaseObject **value)=0
 Gets the selected value of the Property, if the Property is a Selection property. More...
 
virtual ErrCode INTERFACE_FUNC clearPropertyValue (IString *propertyName)=0
 Clears the Property value from the Property object. More...
 
virtual ErrCode INTERFACE_FUNC hasProperty (IString *propertyName, Bool *hasProperty)=0
 Checks if the Property object contains a property named propertyName. More...
 
virtual ErrCode INTERFACE_FUNC getProperty (IString *propertyName, IProperty **property)=0
 Gets the Property with the given propertyName. More...
 
virtual ErrCode INTERFACE_FUNC addProperty (IProperty *property)=0
 Adds the property to the Property object. More...
 
virtual ErrCode INTERFACE_FUNC removeProperty (IString *propertyName)=0
 Removes the Property named propertyName from the Property object. More...
 
virtual ErrCode INTERFACE_FUNC getOnPropertyValueWrite (IString *propertyName, IEvent **event)=0
 Gets the Event that is triggered whenever a Property value is written to the Property named propertyName. More...
 
virtual ErrCode INTERFACE_FUNC getOnPropertyValueRead (IString *propertyName, IEvent **event)=0
 Gets the Event that is triggered whenever a Property value of a Property named propertyName is read. More...
 
virtual ErrCode INTERFACE_FUNC getVisibleProperties (IList **properties)=0
 Returns a list of visible properties contained in the Property object. More...
 
virtual ErrCode INTERFACE_FUNC getAllProperties (IList **properties)=0
 Returns a list of all properties contained in the Property object. More...
 
virtual ErrCode INTERFACE_FUNC setPropertyOrder (IList *orderedPropertyNames)=0
 Sets a custom order of properties as defined in the list of property names. More...
 
virtual ErrCode INTERFACE_FUNC beginUpdate ()=0
 Begins batch configuration of the object. More...
 
virtual ErrCode INTERFACE_FUNC endUpdate ()=0
 Ends batch configuration of the object. More...
 
virtual ErrCode INTERFACE_FUNC getUpdating (Bool *updating)=0
 Returns the state of batch configuration. More...
 
virtual ErrCode INTERFACE_FUNC getOnEndUpdate (IEvent **event)=0
 Gets the Event that is triggered whenever the batch configuration is applied. More...
 
virtual ErrCode INTERFACE_FUNC getPermissionManager (IPermissionManager **permissionManager)=0
 Gets the permission manager of property object. 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

◆ getConnections()

virtual ErrCode INTERFACE_FUNC getConnections ( IList **  connections)
pure virtual

Gets the list of connections to input ports formed by the signal.

Parameters
[out]connectionsThe list of connections.

◆ getDescriptor()

virtual ErrCode INTERFACE_FUNC getDescriptor ( IDataDescriptor **  descriptor)
pure virtual

Gets the signal's data descriptor.

Parameters
[out]descriptorThe signal's data descriptor.

The descriptor contains metadata about the signal, providing information about its name, description,... and defines how the data in it's packet's buffers should be interpreted.

◆ getDomainSignal()

virtual ErrCode INTERFACE_FUNC getDomainSignal ( ISignal **  signal)
pure virtual

Gets the signal that carries its domain data.

Parameters
[out]signalThe domain signal.

The domain signal contains domain (most often time) data that is used to interpret a signal's data in a given domain. It has the same sampling rate as the signal.

◆ getLastValue()

virtual ErrCode INTERFACE_FUNC getLastValue ( IBaseObject **  value)
pure virtual

Gets the signal last value.

Parameters
[out]valueThe IBaseObject value can be a nullptr if there is no value, or if the data type is not supported by the function.

If a value is assigned, it can be cast based on the signal description to IFloat if the type is Float32 or Float64, to IInteger if the type is Int8 through Int64 or UInt8 through UInt64, to IComplexNumber if the type is ComplexFloat32 or ComplexFloat64, to IRange if the type is RangeInt64, to IStruct if the type is Struct, and to IList of the forementioned types if there is exactly one dimension.

◆ getPublic()

virtual ErrCode INTERFACE_FUNC getPublic ( Bool *  isPublic)
pure virtual

Returns true if the signal is public; false otherwise.

Parameters
[out]isPublicTrue if the signal is public; false otherwise.

Public signals are visible to clients connected to the device, and are streamed.

◆ getRelatedSignals()

virtual ErrCode INTERFACE_FUNC getRelatedSignals ( IList **  signals)
pure virtual

Gets a list of related signals.

Parameters
[out]signalsThe list of related signals.

Signals within the related signals list are facilitate the interpretation of a given signal's data, or are otherwise relevant when working with the signal.

◆ getStreamed()

virtual ErrCode INTERFACE_FUNC getStreamed ( Bool *  streamed)
pure virtual

Returns true if the signal is streamed; false otherwise.

Parameters
[out]streamedTrue if the signal is streamed; false otherwise.

A streamed signal receives packets from a streaming server and forwards packets on the signal path. Method always sets streamed parameter to False if the signal is local to the current Instance.

◆ setPublic()

virtual ErrCode INTERFACE_FUNC setPublic ( Bool  isPublic)
pure virtual

Sets the signal to be either public or private.

Parameters
isPublicIf false, the signal is set to private; if true, the signal is set to be public.

Public signals are visible to clients connected to the device, and are streamed.

◆ setStreamed()

virtual ErrCode INTERFACE_FUNC setStreamed ( Bool  streamed)
pure virtual

Sets the signal to be either streamed or not.

Parameters
streamedThe new streamed state of the signal.

A streamed signal receives packets from a streaming server and forwards packets on the signal path. Setting the "Streamed" flag has no effect if the signal is local to the current Instance. Method returns OPENDAQ_IGNORED if that is the case.