OpcUaCanOpen
CANopen OPC-UA server
UserDevice::UserDeviceItem Class Referenceabstract

Abstract class defined method to exchange data with UaVariable The Class defines the basic operation of UaVariable which takes data from CAN message and put date into CAN message. More...

#include <UserDeviceItem.h>

Inherits UserDevice::InterfaceUserDataBase.

Public Member Functions

 UserDeviceItem (pUserDeviceStruct *parrent,::xml_schema::type *conf, UaNode *pAS, OpcUa_UInt code)
 
OpcUa_BuiltInType getItemType ()
 
virtual UaVariant UnPack ()=0
 
virtual UaStatus pack (const OpcUa_Variant *)=0
 
virtual UaStatus write (UaDataValue &udv)=0
 
virtual UaStatus read ()=0
 
OpcUa::BaseDataVariableType * getUaEntry ()
 
virtual ~UserDeviceItem (void)
 
- Public Member Functions inherited from UserDevice::InterfaceUserDataBase
 InterfaceUserDataBase (pUserDeviceStruct *parent,::xsd::cxx::tree::type *conf, UaNode *pAS, OpcUa_UInt code)
 Constructor Also create the shared mutex which can be used to synchronize operation on device using lock/unlock function. More...
 
virtual ~InterfaceUserDataBase (void)
 Destructor. More...
 
virtual UaStatus getDeviceMessage (OpcUa_UInt32 code)=0
 read data defined of function code from device Abstract function to take can messages based on type id (buldingAutomationTypeIds.h) More...
 
virtual UaStatus sendDeviceMessage (OpcUa_UInt32 code, UaDataValue *value=0)=0
 send data or command on device Abstract function to send data based on type id (buldingAutomationTypeIds.h) More...
 
virtual UaStatus connectCode (OpcUa_UInt32 code, ::xsd::cxx::tree::type *conf, UaNode *node)=0
 Connect UaVariable with function code. More...
 
virtual UaVariant getPropertyValue (OpcUa_UInt32 code, ::xsd::cxx::tree::type *conf)=0
 
- Public Member Functions inherited from UserDevice::UserDeviceStruct
 UserDeviceStruct (pUserDeviceStruct *parent, ::xsd::cxx::tree::type *conf, UaNode *pAS, OpcUa_UInt code)
 constructor More...
 
void lock ()
 lock shared mutex to protect More...
 
void unlock ()
 unlock shared mutex More...
 
::UaMutexRefCounted * getShareMutex ()
 get mutex More...
 
void releaseMutex ()
 
OpcUa_Int32 countMutex ()
 
virtual ~UserDeviceStruct (void)
 
OpcUa_UInt getCodeFunction ()
 
UserDeviceStructgetParentDevice ()
 
pUserDeviceStructgetTopInterface ()
 
pUserDeviceStructgetParent ()
 
virtual void setInvalid ()
 
UaNode * getAddressSpaceEntry ()
 

Protected Attributes

OpcUa_BuiltInType itemType
 
- Protected Attributes inherited from UserDevice::UserDeviceStruct
UaMutexRefCounted * m_pSharedMutex
 

Detailed Description

Abstract class defined method to exchange data with UaVariable The Class defines the basic operation of UaVariable which takes data from CAN message and put date into CAN message.

Definition at line 18 of file UserDeviceItem.h.

Constructor & Destructor Documentation

◆ UserDeviceItem()

UserDevice::UserDeviceItem::UserDeviceItem ( pUserDeviceStruct parrent,
::xml_schema::type conf,
UaNode *  pAS,
OpcUa_UInt  code 
)
inline

Definition at line 22 of file UserDeviceItem.h.

◆ ~UserDeviceItem()

virtual UserDevice::UserDeviceItem::~UserDeviceItem ( void  )
inlinevirtual

Definition at line 41 of file UserDeviceItem.h.

Member Function Documentation

◆ getItemType()

OpcUa_BuiltInType UserDevice::UserDeviceItem::getItemType ( )
inline

Definition at line 27 of file UserDeviceItem.h.

◆ getUaEntry()

OpcUa::BaseDataVariableType* UserDevice::UserDeviceItem::getUaEntry ( )
inline

Definition at line 36 of file UserDeviceItem.h.

◆ pack()

virtual UaStatus UserDevice::UserDeviceItem::pack ( const OpcUa_Variant *  )
pure virtual

◆ read()

virtual UaStatus UserDevice::UserDeviceItem::read ( )
pure virtual

◆ UnPack()

virtual UaVariant UserDevice::UserDeviceItem::UnPack ( )
pure virtual

◆ write()

virtual UaStatus UserDevice::UserDeviceItem::write ( UaDataValue &  udv)
pure virtual

Member Data Documentation

◆ itemType

OpcUa_BuiltInType UserDevice::UserDeviceItem::itemType
protected

Definition at line 41 of file UserDeviceItem.h.


The documentation for this class was generated from the following file: