address_space.h
Go to the documentation of this file.
1 
11 #pragma once
12 
13 #include <opc/common/logger.h>
14 #include <opc/ua/event.h>
17 #include <opc/ua/services/view.h>
19 
20 
21 namespace OpcUa
22 {
23 namespace Server
24 {
25 
26 typedef void DataChangeCallback(const NodeId & node, AttributeId attribute, DataValue);
27 
29  : public ViewServices
30  , public AttributeServices
31  , public NodeManagementServices
32  , public MethodServices
33 {
34 public:
36 
37  //Server side methods
38  virtual uint32_t AddDataChangeCallback(const NodeId & node, AttributeId attribute, std::function<DataChangeCallback> callback) = 0;
39  virtual void DeleteDataChangeCallback(uint32_t clienthandle) = 0;
40  virtual StatusCode SetValueCallback(const NodeId & node, AttributeId attribute, std::function<DataValue(void)> callback) = 0;
41  virtual void SetMethod(const NodeId & node, std::function<std::vector<OpcUa::Variant> (NodeId context, std::vector<OpcUa::Variant> arguments)> callback) = 0;
42  //FIXME : SHould we also expose SetValue and GetValue on server side? then we need to lock them ...
43 };
44 
45 AddressSpace::UniquePtr CreateAddressSpace(const Common::Logger::SharedPtr & logger);
46 
47 } // namespace UaServer
48 } // nmespace OpcUa
virtual StatusCode SetValueCallback(const NodeId &node, AttributeId attribute, std::function< DataValue(void)> callback)=0
virtual uint32_t AddDataChangeCallback(const NodeId &node, AttributeId attribute, std::function< DataChangeCallback > callback)=0
OPC UA Address space part. GNU LGPL.
virtual void DeleteDataChangeCallback(uint32_t clienthandle)=0
void DataChangeCallback(const NodeId &node, AttributeId attribute, DataValue)
Definition: address_space.h:26
#define DEFINE_CLASS_POINTERS(ClassName)
Exception declarations GNU LGPL.
AddressSpace::UniquePtr CreateAddressSpace(const Common::Logger::SharedPtr &logger)
virtual void SetMethod(const NodeId &node, std::function< std::vector< OpcUa::Variant >(NodeId context, std::vector< OpcUa::Variant > arguments)> callback)=0
const char Server[]
Definition: strings.h:121


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