00001 #pragma once 00002 00003 #include "opc/ua/services/services.h" 00004 #include "opc/ua/node.h" 00005 00006 #include <vector> 00007 00008 namespace OpcUa{ 00009 class UaClient; 00010 class UaServer; 00011 00012 class ServerOperations { 00013 friend UaClient; 00014 friend UaServer; 00015 00016 Services::SharedPtr Server; 00017 protected: 00018 ServerOperations(Services::SharedPtr Server); 00019 00020 public: 00021 void WriteAttributes(std::vector<WriteValue>&); 00022 std::vector<DataValue> ReadAttributes(std::vector<ReadValueId>& attributes); 00023 std::vector<DataValue> ReadAttributes(std::vector<Node>& nodes, AttributeId attr); 00024 std::vector<Node> RegisterNodes(std::vector<Node>&); 00025 //NB This makes the given nodes invalid 00026 void UnregisterNodes(std::vector<Node>&); 00027 }; 00028 }