21 #include <boost/thread/locks.hpp> 22 #include <boost/thread/shared_mutex.hpp> 39 class InternalSubscription;
53 std::function<Server::DataChangeCallback>
Callback;
74 std::function<std::vector<OpcUa::Variant> (
NodeId, std::vector<OpcUa::Variant>)> Method;
88 virtual std::vector<AddNodesResult> AddNodes(
const std::vector<AddNodesItem> & items);
89 virtual std::vector<StatusCode> AddReferences(
const std::vector<AddReferencesItem> & items);
92 virtual std::vector<BrowseResult> BrowseNext()
const;
93 virtual std::vector<NodeId> RegisterNodes(
const std::vector<NodeId> & params)
const;
94 virtual void UnregisterNodes(
const std::vector<NodeId> & params)
const;
95 virtual std::vector<DataValue> Read(
const ReadParameters & params)
const;
96 virtual std::vector<StatusCode> Write(
const std::vector<OpcUa::WriteValue> & values);
97 virtual std::vector<OpcUa::CallMethodResult> Call(
const std::vector<OpcUa::CallMethodRequest> & methodsToCall);
103 uint32_t AddDataChangeCallback(
const NodeId & node,
AttributeId attribute, std::function<Server::DataChangeCallback> callback);
106 void DeleteDataChangeCallback(uint32_t serverhandle);
112 void SetMethod(
const NodeId & node, std::function<std::vector<OpcUa::Variant> (
NodeId context, std::vector<OpcUa::Variant> arguments)> callback);
121 std::vector<NodeId> SelectNodesHierarchy(std::vector<NodeId> sourceNodes)
const;
132 uint32_t MaxNodeIdNum = 2000;
133 uint32_t DefaultIdx = 2;
std::map< AttributeId, AttributeValue > AttributesMap
ClientIdToAttributeMapType ClientIdToAttributeMap
std::vector< T > Browse(const NodeId &node, NodeClass nodeClassMask, Services::SharedPtr services)
Common::Logger::SharedPtr Logger
std::vector< ReferenceDescription > References
NodeAttribute(NodeId node, AttributeId attribute)
std::atomic< uint32_t > DataChangeCallbackHandle
std::function< Server::DataChangeCallback > Callback
std::map< uint32_t, NodeAttribute > ClientIdToAttributeMapType
DataChangeCallbackMap DataChangeCallbacks
OPC UA Address space part. GNU LGPL.
std::map< NodeId, NodeStruct > NodesMap
std::map< uint32_t, DataChangeCallbackData > DataChangeCallbackMap
AddressSpace::UniquePtr CreateAddressSpace(const Common::Logger::SharedPtr &logger)
std::function< DataValue(void)> GetValueCallback
boost::shared_mutex DbMutex