Public Member Functions | Private Member Functions | Private Attributes | List of all members
OpcUa::Internal::AddressSpaceInMemory Class Reference

#include <address_space_internal.h>

Inheritance diagram for OpcUa::Internal::AddressSpaceInMemory:
Inheritance graph
[legend]

Public Member Functions

uint32_t AddDataChangeCallback (const NodeId &node, AttributeId attribute, std::function< Server::DataChangeCallback > callback)
 Add callback which will be called when values of attribute is changed. More...
 
virtual std::vector< AddNodesResultAddNodes (const std::vector< AddNodesItem > &items)
 
virtual std::vector< StatusCodeAddReferences (const std::vector< AddReferencesItem > &items)
 
 AddressSpaceInMemory (const Common::Logger::SharedPtr &logger)
 
virtual std::vector< BrowseResultBrowse (const OpcUa::NodesQuery &query) const
 
virtual std::vector< BrowseResultBrowseNext () const
 
virtual std::vector< OpcUa::CallMethodResultCall (const std::vector< OpcUa::CallMethodRequest > &methodsToCall)
 
void DeleteDataChangeCallback (uint32_t serverhandle)
 Delete data change callback assosioated with handle. More...
 
virtual std::vector< DataValueRead (const ReadParameters &params) const
 
virtual std::vector< NodeIdRegisterNodes (const std::vector< NodeId > &params) const
 
void SetMethod (const NodeId &node, std::function< std::vector< OpcUa::Variant >(NodeId context, std::vector< OpcUa::Variant > arguments)> callback)
 Set method function for a method node. More...
 
StatusCode SetValueCallback (const NodeId &node, AttributeId attribute, std::function< DataValue(void)> callback)
 Set callback which will be called to read new value of the attribue. More...
 
virtual std::vector< BrowsePathResultTranslateBrowsePathsToNodeIds (const TranslateBrowsePathsParameters &params) const
 
virtual void UnregisterNodes (const std::vector< NodeId > &params) const
 
virtual std::vector< StatusCodeWrite (const std::vector< OpcUa::WriteValue > &values)
 
 ~AddressSpaceInMemory ()
 
- Public Member Functions inherited from OpcUa::Server::AddressSpace
virtual uint32_t AddDataChangeCallback (const NodeId &node, AttributeId attribute, std::function< DataChangeCallback > callback)=0
 

Private Member Functions

AddNodesResult AddNode (const AddNodesItem &item)
 
StatusCode AddReference (const AddReferencesItem &item)
 
CallMethodResult CallMethod (CallMethodRequest method)
 
std::tuple< bool, NodeIdFindElementInNode (const NodeId &nodeid, const RelativePathElement &element) const
 
NodeId GetNewNodeId (const NodeId &id)
 
DataValue GetValue (const NodeId &node, AttributeId attribute) const
 
bool IsSuitableReference (const BrowseDescription &desc, const ReferenceDescription &reference) const
 
bool IsSuitableReferenceType (const ReferenceDescription &reference, const NodeId &typeId, bool includeSubtypes) const
 
std::vector< NodeIdSelectNodesHierarchy (std::vector< NodeId > sourceNodes) const
 
StatusCode SetValue (const NodeId &node, AttributeId attribute, const DataValue &data)
 
BrowsePathResult TranslateBrowsePath (const BrowsePath &browsepath) const
 

Private Attributes

ClientIdToAttributeMapType ClientIdToAttributeMap
 
std::atomic< uint32_t > DataChangeCallbackHandle
 
boost::shared_mutex DbMutex
 
uint32_t DefaultIdx = 2
 
Common::Logger::SharedPtr Logger
 
uint32_t MaxNodeIdNum = 2000
 
NodesMap Nodes
 

Detailed Description

Definition at line 80 of file address_space_internal.h.

Constructor & Destructor Documentation

OpcUa::Internal::AddressSpaceInMemory::AddressSpaceInMemory ( const Common::Logger::SharedPtr &  logger)

Definition at line 28 of file address_space_internal.cpp.

OpcUa::Internal::AddressSpaceInMemory::~AddressSpaceInMemory ( )

Definition at line 47 of file address_space_internal.cpp.

Member Function Documentation

uint32_t OpcUa::Internal::AddressSpaceInMemory::AddDataChangeCallback ( const NodeId node,
AttributeId  attribute,
std::function< Server::DataChangeCallback callback 
)

Add callback which will be called when values of attribute is changed.

Returns
handle of a callback which should be passed to the DeletDataChangeCallabck

Definition at line 275 of file address_space_internal.cpp.

AddNodesResult OpcUa::Internal::AddressSpaceInMemory::AddNode ( const AddNodesItem item)
private

Definition at line 533 of file address_space_internal.cpp.

std::vector< AddNodesResult > OpcUa::Internal::AddressSpaceInMemory::AddNodes ( const std::vector< AddNodesItem > &  items)
virtual

Implements OpcUa::NodeManagementServices.

Definition at line 51 of file address_space_internal.cpp.

StatusCode OpcUa::Internal::AddressSpaceInMemory::AddReference ( const AddReferencesItem item)
private

Definition at line 625 of file address_space_internal.cpp.

std::vector< StatusCode > OpcUa::Internal::AddressSpaceInMemory::AddReferences ( const std::vector< AddReferencesItem > &  items)
virtual

Implements OpcUa::NodeManagementServices.

Definition at line 65 of file address_space_internal.cpp.

std::vector< BrowseResult > OpcUa::Internal::AddressSpaceInMemory::Browse ( const OpcUa::NodesQuery query) const
virtual

Implements OpcUa::ViewServices.

Definition at line 94 of file address_space_internal.cpp.

std::vector< BrowseResult > OpcUa::Internal::AddressSpaceInMemory::BrowseNext ( ) const
virtual

Implements OpcUa::ViewServices.

Definition at line 134 of file address_space_internal.cpp.

std::vector< OpcUa::CallMethodResult > OpcUa::Internal::AddressSpaceInMemory::Call ( const std::vector< OpcUa::CallMethodRequest > &  methodsToCall)
virtual

Implements OpcUa::MethodServices.

Definition at line 376 of file address_space_internal.cpp.

CallMethodResult OpcUa::Internal::AddressSpaceInMemory::CallMethod ( CallMethodRequest  method)
private

Definition at line 390 of file address_space_internal.cpp.

void OpcUa::Internal::AddressSpaceInMemory::DeleteDataChangeCallback ( uint32_t  serverhandle)
virtual

Delete data change callback assosioated with handle.

Implements OpcUa::Server::AddressSpace.

Definition at line 305 of file address_space_internal.cpp.

std::tuple< bool, NodeId > OpcUa::Internal::AddressSpaceInMemory::FindElementInNode ( const NodeId nodeid,
const RelativePathElement element 
) const
private

Definition at line 189 of file address_space_internal.cpp.

NodeId OpcUa::Internal::AddressSpaceInMemory::GetNewNodeId ( const NodeId id)
private

Definition at line 674 of file address_space_internal.cpp.

DataValue OpcUa::Internal::AddressSpaceInMemory::GetValue ( const NodeId node,
AttributeId  attribute 
) const
private

Definition at line 236 of file address_space_internal.cpp.

bool OpcUa::Internal::AddressSpaceInMemory::IsSuitableReference ( const BrowseDescription desc,
const ReferenceDescription reference 
) const
private

Definition at line 464 of file address_space_internal.cpp.

bool OpcUa::Internal::AddressSpaceInMemory::IsSuitableReferenceType ( const ReferenceDescription reference,
const NodeId typeId,
bool  includeSubtypes 
) const
private

Definition at line 490 of file address_space_internal.cpp.

std::vector< DataValue > OpcUa::Internal::AddressSpaceInMemory::Read ( const ReadParameters params) const
virtual

Implements OpcUa::AttributeServices.

Definition at line 155 of file address_space_internal.cpp.

std::vector< NodeId > OpcUa::Internal::AddressSpaceInMemory::RegisterNodes ( const std::vector< NodeId > &  params) const
virtual

Implements OpcUa::ViewServices.

Definition at line 141 of file address_space_internal.cpp.

std::vector< NodeId > OpcUa::Internal::AddressSpaceInMemory::SelectNodesHierarchy ( std::vector< NodeId sourceNodes) const
private

Definition at line 503 of file address_space_internal.cpp.

void OpcUa::Internal::AddressSpaceInMemory::SetMethod ( const NodeId node,
std::function< std::vector< OpcUa::Variant >(NodeId context, std::vector< OpcUa::Variant > arguments)>  callback 
)
virtual

Set method function for a method node.

Implements OpcUa::Server::AddressSpace.

Definition at line 359 of file address_space_internal.cpp.

StatusCode OpcUa::Internal::AddressSpaceInMemory::SetValue ( const NodeId node,
AttributeId  attribute,
const DataValue data 
)
private

Definition at line 437 of file address_space_internal.cpp.

StatusCode OpcUa::Internal::AddressSpaceInMemory::SetValueCallback ( const NodeId node,
AttributeId  attribute,
std::function< DataValue(void)>  callback 
)
virtual

Set callback which will be called to read new value of the attribue.

Implements OpcUa::Server::AddressSpace.

Definition at line 339 of file address_space_internal.cpp.

BrowsePathResult OpcUa::Internal::AddressSpaceInMemory::TranslateBrowsePath ( const BrowsePath browsepath) const
private

Definition at line 208 of file address_space_internal.cpp.

std::vector< BrowsePathResult > OpcUa::Internal::AddressSpaceInMemory::TranslateBrowsePathsToNodeIds ( const TranslateBrowsePathsParameters params) const
virtual

Implements OpcUa::ViewServices.

Definition at line 79 of file address_space_internal.cpp.

void OpcUa::Internal::AddressSpaceInMemory::UnregisterNodes ( const std::vector< NodeId > &  params) const
virtual

Implements OpcUa::ViewServices.

Definition at line 148 of file address_space_internal.cpp.

std::vector< StatusCode > OpcUa::Internal::AddressSpaceInMemory::Write ( const std::vector< OpcUa::WriteValue > &  values)
virtual

Implements OpcUa::AttributeServices.

Definition at line 169 of file address_space_internal.cpp.

Member Data Documentation

ClientIdToAttributeMapType OpcUa::Internal::AddressSpaceInMemory::ClientIdToAttributeMap
private

Definition at line 131 of file address_space_internal.h.

std::atomic<uint32_t> OpcUa::Internal::AddressSpaceInMemory::DataChangeCallbackHandle
private

Definition at line 134 of file address_space_internal.h.

boost::shared_mutex OpcUa::Internal::AddressSpaceInMemory::DbMutex
mutableprivate

Definition at line 129 of file address_space_internal.h.

uint32_t OpcUa::Internal::AddressSpaceInMemory::DefaultIdx = 2
private

Definition at line 133 of file address_space_internal.h.

Common::Logger::SharedPtr OpcUa::Internal::AddressSpaceInMemory::Logger
private

Definition at line 128 of file address_space_internal.h.

uint32_t OpcUa::Internal::AddressSpaceInMemory::MaxNodeIdNum = 2000
private

Definition at line 132 of file address_space_internal.h.

NodesMap OpcUa::Internal::AddressSpaceInMemory::Nodes
private

Definition at line 130 of file address_space_internal.h.


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


ros_opcua_impl_freeopcua
Author(s): Denis Štogl
autogenerated on Tue Jan 19 2021 03:12:10