openDAQ
Open data acquisition platform
ISignalConfig Struct Referenceabstract

The configuration component of a Signal. Allows for configuration of its properties, managing its streaming sources, and sending packets through its connections. More...

+ Inheritance diagram for ISignalConfig:
+ Collaboration diagram for ISignalConfig:

Detailed Description

The configuration component of a Signal. Allows for configuration of its properties, managing its streaming sources, and sending packets through its connections.

The Signal config is most often accessible only to the devices or function blocks that own the signal. They react on property, or input signal changes to modify a signal's data descriptor, and send processed/acquired data down its signal path.

Public Member Functions

virtual ErrCode INTERFACE_FUNC setDescriptor (IDataDescriptor *descriptor)=0
 Sets the data descriptor. More...
 
virtual ErrCode INTERFACE_FUNC setDomainSignal (ISignal *signal)=0
 Sets the domain signal reference. More...
 
virtual ErrCode INTERFACE_FUNC setRelatedSignals (IList *signals)=0
 Sets the list of related signals. More...
 
virtual ErrCode INTERFACE_FUNC addRelatedSignal (ISignal *signal)=0
 Adds a related signal to the list of related signals. More...
 
virtual ErrCode INTERFACE_FUNC removeRelatedSignal (ISignal *signal)=0
 Removes a signal from the list of related signal. More...
 
virtual ErrCode INTERFACE_FUNC clearRelatedSignals ()=0
 Clears the list of related signals.
 
virtual ErrCode INTERFACE_FUNC sendPacket (IPacket *packet)=0
 Sends a packet through all connections of the signal. More...
 
virtual ErrCode INTERFACE_FUNC sendPackets (IList *packets)=0
 Sends multiple packets through all connections of the signal. More...
 
virtual ErrCode INTERFACE_FUNC sendPacketAndStealRef (IPacket *packet)=0
 Sends a packet through all connections of the signal. Ownership of the packet is transfered. More...
 
virtual ErrCode INTERFACE_FUNC sendPacketsAndStealRef (IList *packets)=0
 Sends multiple packets through all connections of the signal. Ownership of the packets is transfered. More...
 
- Public Member Functions inherited from ISignal
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

◆ addRelatedSignal()

virtual ErrCode INTERFACE_FUNC addRelatedSignal ( ISignal signal)
pure virtual

Adds a related signal to the list of related signals.

Parameters
signalThe signal to be added.
Return values
OPENDAQ_ERR_DUPLICATEITEMif the signal is already present in the list.

◆ removeRelatedSignal()

virtual ErrCode INTERFACE_FUNC removeRelatedSignal ( ISignal signal)
pure virtual

Removes a signal from the list of related signal.

Parameters
signalThe signal to be removed.
Return values
OPENDAQ_ERR_NOTFOUNDif the signal is not part of the list.

◆ sendPacket()

virtual ErrCode INTERFACE_FUNC sendPacket ( IPacket packet)
pure virtual

Sends a packet through all connections of the signal.

Parameters
packetThe packet to be sent.

◆ sendPacketAndStealRef()

virtual ErrCode INTERFACE_FUNC sendPacketAndStealRef ( IPacket packet)
pure virtual

Sends a packet through all connections of the signal. Ownership of the packet is transfered.

Parameters
packetThe packet to be sent.

After calling the method, the packet should not be touched again. The ownership of the packet is taken by underlying connections and it could be destroyed before the function returns.

◆ sendPackets()

virtual ErrCode INTERFACE_FUNC sendPackets ( IList packets)
pure virtual

Sends multiple packets through all connections of the signal.

Parameters
packetsThe packets to be sent.

Sending multiple packets creates a single notification to input port.

◆ sendPacketsAndStealRef()

virtual ErrCode INTERFACE_FUNC sendPacketsAndStealRef ( IList packets)
pure virtual

Sends multiple packets through all connections of the signal. Ownership of the packets is transfered.

Parameters
packetThe packets to be sent.

After calling the method, the packets should not be touched again. The ownership of the packets is taken by underlying connections and they could be destroyed before the function returns.

◆ setDescriptor()

virtual ErrCode INTERFACE_FUNC setDescriptor ( IDataDescriptor descriptor)
pure virtual

Sets the data descriptor.

Parameters
descriptorThe data descriptor.

Setting the data descriptor triggers a Descriptor changed event packet to be sent to all connections of the signal. If the signal is a domain signal of another, that signal also sends a Descriptor changed event to all its connections.

◆ setDomainSignal()

virtual ErrCode INTERFACE_FUNC setDomainSignal ( ISignal signal)
pure virtual

Sets the domain signal reference.

Parameters
signalThe domain signal.

Setting a new domain signal triggers a Descriptor changed event packet to be sent to all connections of the signal.

◆ setRelatedSignals()

virtual ErrCode INTERFACE_FUNC setRelatedSignals ( IList signals)
pure virtual

Sets the list of related signals.

Parameters
signalsThe list of related signals.