|
openDAQ
Open data acquisition platform
|
Contains standard information about an openDAQ device and device type. The Device Info object is a Property Object, allowing for custom String, Int, Bool, or Float-type properties to be added. More...
Inheritance diagram for IDeviceInfo:
Collaboration diagram for IDeviceInfo:Contains standard information about an openDAQ device and device type. The Device Info object is a Property Object, allowing for custom String, Int, Bool, or Float-type properties to be added.
The getter methods represent a standardized set of Device properties according to the OPC UA: Devices standard. Any additional String, Int, Bool, or Float-type properties can be added, using the appropriate Property Object "add property" method. Any other types of properties are invalid. Although Integer-type properties are valid additions, Selection properties cannot be added to Device Info.
As the Device Info object adheres to the OPC UA: Devices standard, it behaves differently than standard Property Objects. No metadata except the Value Type and Default Value are published via OPC UA, and this only said Property metadata is visible to any clients.
All fields - default (e.g. platform, manufacturer...) and custom are represented as either:
As such, listing all properties via Property Object methods, will return both the names of the default and custom properties. All default properties are initialized to an empty string except for RevisionCounter and Position that are integer properties and are thus initialized to '0'. The names of the properties are written in camelCase - for example "systemUuid", "parentMacAddress", "manufacturerUri".
If the DeviceInfo object is obtained from a device, or when listing available devices, the object is frozen (immutable). As such, Property Object setter methods cannot be used and will fail when called.
Public Member Functions | |
| virtual ErrCode INTERFACE_FUNC | getName (IString **name)=0 |
| Gets the name of the device. More... | |
| virtual ErrCode INTERFACE_FUNC | getConnectionString (IString **connectionString)=0 |
| Gets the string representation of a connection address used to connect to the device. More... | |
| virtual ErrCode INTERFACE_FUNC | getDeviceType (IDeviceType **deviceType)=0 |
| Gets a device type as an object providing type id, name, short description and default device configuration. By using default config object as a starting point, users can easily modify the preset properties to tailor the configuration of the client device accordingly. More... | |
| virtual ErrCode INTERFACE_FUNC | getManufacturer (IString **manufacturer)=0 |
| Gets the company that manufactured the device. More... | |
| virtual ErrCode INTERFACE_FUNC | getManufacturerUri (IString **manufacturerUri)=0 |
| Gets the unique identifier of the company that manufactured the device This identifier should be a fully qualified domain name; however, it may be a GUID or similar construct that ensures global uniqueness. More... | |
| virtual ErrCode INTERFACE_FUNC | getModel (IString **model)=0 |
| Gets the model of the device. More... | |
| virtual ErrCode INTERFACE_FUNC | getProductCode (IString **productCode)=0 |
| Gets the unique combination of numbers and letters used to identify the device. More... | |
| virtual ErrCode INTERFACE_FUNC | getDeviceRevision (IString **deviceRevision)=0 |
| Gets the revision level of the device. More... | |
| virtual ErrCode INTERFACE_FUNC | getHardwareRevision (IString **hardwareRevision)=0 |
| Gets the revision level of the hardware. More... | |
| virtual ErrCode INTERFACE_FUNC | getSoftwareRevision (IString **softwareRevision)=0 |
| Gets the revision level of the software component. More... | |
| virtual ErrCode INTERFACE_FUNC | getDeviceManual (IString **deviceManual)=0 |
| Gets the address of the user manual. It may be a pathname in the file system or a URL (Web address) More... | |
| virtual ErrCode INTERFACE_FUNC | getDeviceClass (IString **deviceClass)=0 |
| Gets the purpose of the device. For example "TestMeasurementDevice". More... | |
| virtual ErrCode INTERFACE_FUNC | getSerialNumber (IString **serialNumber)=0 |
| Gets the unique production number provided by the manufacturer. More... | |
| virtual ErrCode INTERFACE_FUNC | getProductInstanceUri (IString **productInstanceUri)=0 |
| Gets the globally unique resource identifier provided by the manufacturer. The recommended syntax of the ProductInstanceUri is: <ManufacturerUri>/<any string> where <any string> is unique among all instances using the same ManufacturerUri. More... | |
| virtual ErrCode INTERFACE_FUNC | getRevisionCounter (Int *revisionCounter)=0 |
| Gets the incremental counter indicating the number of times the configuration data has been modified. More... | |
| virtual ErrCode INTERFACE_FUNC | getAssetId (IString **id)=0 |
| Gets the asset ID of the device. Represents a user writable alphanumeric character sequence uniquely identifying a component. More... | |
| virtual ErrCode INTERFACE_FUNC | getMacAddress (IString **macAddress)=0 |
| Gets the Mac address of the device. More... | |
| virtual ErrCode INTERFACE_FUNC | getParentMacAddress (IString **macAddress)=0 |
| Gets the Mac address of the device's parent. More... | |
| virtual ErrCode INTERFACE_FUNC | getPlatform (IString **platform)=0 |
| Gets the platform of the device. The platform specifies whether real hardware is used or if the device is simulated. More... | |
| virtual ErrCode INTERFACE_FUNC | getPosition (Int *position)=0 |
| Gets the position of the device. The position specifies the position within a given system. For example in which slot or slice the device is in. More... | |
| virtual ErrCode INTERFACE_FUNC | getSystemType (IString **type)=0 |
| Gets the system type. The system type can, for example, be LayeredSystem, StandaloneSystem, or RackSystem. More... | |
| virtual ErrCode INTERFACE_FUNC | getSystemUuid (IString **uuid)=0 |
| Gets the system UUID that represents a unique ID of a system. All devices in a system share this UUID. More... | |
| virtual ErrCode INTERFACE_FUNC | getCustomInfoPropertyNames (IList **customInfoNames)=0 |
| Gets the list of property names that are not in the default set of Device info properties. Default properties are all info properties that have a corresponding getter method. More... | |
| virtual ErrCode INTERFACE_FUNC | getSdkVersion (IString **version)=0 |
| Gets the version of the SDK used to build said device. Can be empty if the device does not use the SDK as its firmware/is implemented at a protocol-level. More... | |
| virtual ErrCode INTERFACE_FUNC | getServerCapabilities (IList **serverCapabilities)=0 |
| Gets the list of server capabilities stored in device info. More... | |
| virtual ErrCode INTERFACE_FUNC | getLocation (IString **location)=0 |
| Gets the location of the device. More... | |
| virtual ErrCode INTERFACE_FUNC | getConfigurationConnectionInfo (IServerCapability **connectionInfo)=0 |
| Retrieves the configuration connection information of the server to which the client is connected. More... | |
| virtual ErrCode INTERFACE_FUNC | hasServerCapability (IString *protocolId, Bool *hasCapability)=0 |
| Checks whether the server capability with a given ID is available. More... | |
| virtual ErrCode INTERFACE_FUNC | getServerCapability (IString *protocolId, IServerCapability **serverCapability)=0 |
| Gets the server capability with a given ID. More... | |
| virtual ErrCode INTERFACE_FUNC | getNetworkInterfaces (IDict **interfaces)=0 |
| Gets the dictionary of network interfaces stored in device info. More... | |
| virtual ErrCode INTERFACE_FUNC | getNetworkInterface (IString *interfaceName, INetworkInterface **intf)=0 |
| Gets the network interface with a given name. More... | |
| virtual ErrCode INTERFACE_FUNC | getUserName (IString **userName)=0 |
| Gets the name of the current user of the device. More... | |
| virtual ErrCode INTERFACE_FUNC | getConnectedClientsInfo (IList **connectedClientsInfo)=0 |
| Gets the list of connected client information objects. 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 | getOnAnyPropertyValueWrite (IEvent **event)=0 |
| Gets the Event that is triggered whenever any Property value is written. The event is triggered after the specific Property event. More... | |
| virtual ErrCode INTERFACE_FUNC | getOnAnyPropertyValueRead (IEvent **event)=0 |
| Gets the Event that is triggered whenever any Property value is read.The event is triggered after the specific Property event. 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... | |
| virtual ErrCode INTERFACE_FUNC | findProperties (IList **properties, ISearchFilter *propertyFilter, ISearchFilter *componentFilter=nullptr)=0 |
| Retrieves a list of properties from the Property object that match the given property filter. More... | |
| virtual ErrCode INTERFACE_FUNC | setPropertySelectionValue (IString *propertyName, IBaseObject *value)=0 |
| Sets the value of a Selection property by the selection item value (e.g. string, float, or list/dict value). More... | |
| virtual ErrCode INTERFACE_FUNC | clearPropertyValues ()=0 |
| Clears values of all properties contained in the Property object, including nested child properties. 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... | |
Gets the asset ID of the device. Represents a user writable alphanumeric character sequence uniquely identifying a component.
| [out] | id | The asset ID of the device. |
The ID is provided by the integrator or user of the device. It contains typically an identifier in a branch, use case or user specific naming scheme. This could be for example a reference to an electric scheme. The ID must be a string representation of an Int32 number.
|
pure virtual |
Retrieves the configuration connection information of the server to which the client is connected.
| [out] | connectionInfo | The server capability with the configuration connection information. |
This method returns the configuration connection information of the server to which the client is connected. If the connection to the server is not established, the fields of the server capability object are empty.
|
pure virtual |
Gets the list of connected client information objects.
| [out] | connectedClientsInfo | The list of connected client information objects. |
Gets the string representation of a connection address used to connect to the device.
| [out] | connectionString | The string used to connect to the device. |
Gets the list of property names that are not in the default set of Device info properties. Default properties are all info properties that have a corresponding getter method.
| [out] | customInfoNames | The list of names of custom properties. |
Gets the purpose of the device. For example "TestMeasurementDevice".
| [out] | deviceClass | The class of the device. |
Gets the address of the user manual. It may be a pathname in the file system or a URL (Web address)
| [out] | deviceManual | The manual of the device. |
Gets the revision level of the device.
| [out] | deviceRevision | The device revision level. |
|
pure virtual |
Gets a device type as an object providing type id, name, short description and default device configuration. By using default config object as a starting point, users can easily modify the preset properties to tailor the configuration of the client device accordingly.
| [out] | deviceType | The device type object |
Gets the revision level of the hardware.
| [out] | hardwareRevision | The hardware revision of the device. |
Gets the location of the device.
| [out] | location | The location of the device. |
If the info object is obtained from a device that is already added (not through discovery), the location string value matches that of the device's "location" property.
Gets the Mac address of the device.
| [out] | macAddress | The Mac address. |
Gets the company that manufactured the device.
| [out] | manufacturer | The manufacturer of the device. |
Gets the unique identifier of the company that manufactured the device This identifier should be a fully qualified domain name; however, it may be a GUID or similar construct that ensures global uniqueness.
| [out] | manufacturerUri | The manufacturer uri of the device. |
Gets the model of the device.
| [out] | model | The model of the device. |
Gets the name of the device.
| [out] | name | The name of the device. |
If the info object is obtained from a device that is already added (not through discovery), the name string value matches that of the device's "Name" attribute.
|
pure virtual |
Gets the network interface with a given name.
| interfaceName | The name of the device network interface. | |
| [out] | intf | The device network interface with the given name. |
| OPENDAQ_ERR_NOTFOUND | if the network interface with the given name is not available. |
Gets the dictionary of network interfaces stored in device info.
| [out] | interfaces | The dictionary of device network interfaces. |
Obtained dictionary contains INetworkInterface objects, representing the available network interfaces and allowing to manage their configurations. The dictionary key corresponds to interface identifier (e.g. "eth0").
Gets the Mac address of the device's parent.
| [out] | macAddress | The parent's Mac address. |
Gets the platform of the device. The platform specifies whether real hardware is used or if the device is simulated.
| [out] | platform | The platform of the device. |
Gets the position of the device. The position specifies the position within a given system. For example in which slot or slice the device is in.
| [out] | position | The position of the device. |
The Position should be a positive integer in the range supported by the UInt16 data type.
Gets the unique combination of numbers and letters used to identify the device.
| [out] | productCode | The product code of the device. |
Gets the globally unique resource identifier provided by the manufacturer. The recommended syntax of the ProductInstanceUri is: <ManufacturerUri>/<any string> where <any string> is unique among all instances using the same ManufacturerUri.
| [out] | productInstanceUri | The product instance uri of the device. |
Gets the incremental counter indicating the number of times the configuration data has been modified.
| [out] | revisionCounter | The revision counter of the device. |
Gets the version of the SDK used to build said device. Can be empty if the device does not use the SDK as its firmware/is implemented at a protocol-level.
| [out] | version | The SDK version. |
Gets the unique production number provided by the manufacturer.
| [out] | serialNumber | The serial number of the device. |
Gets the list of server capabilities stored in device info.
| [out] | serverCapabilities | The list of device supported protocols (List containing IServerCapability objects, representing the supported protocols along with their properties). |
|
pure virtual |
Gets the server capability with a given ID.
| protocolId | The ID of the server capability protocol. | |
| [out] | serverCapability | The server capability with the given ID. |
| OPENDAQ_ERR_NOTFOUND | if the server capability is not available. |
Gets the revision level of the software component.
| [out] | softwareRevision | The software revision of the device. |
Gets the system type. The system type can, for example, be LayeredSystem, StandaloneSystem, or RackSystem.
| [out] | type | The system type of the device. |
Gets the system UUID that represents a unique ID of a system. All devices in a system share this UUID.
| [out] | uuid | The unique ID of a system. |
Gets the name of the current user of the device.
| [out] | userName | The name of the current user of the device. |
If the info object is obtained from a device that is already added (not through discovery), the username string value matches that of the device's "userName" property.
|
pure virtual |
Checks whether the server capability with a given ID is available.
| protocolId | The ID of the server capability protocol. | |
| [out] | hasCapability | True if the protocol is available; False otherwise. |