Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #pragma once
00012
00013 #include <boost/python.hpp>
00014
00015 #include "opc/ua/node.h"
00016 #include "opc/ua/event.h"
00017 #include "opc/ua/subscription.h"
00018
00019 using namespace boost::python;
00020 using namespace OpcUa;
00021
00022 class PySubscriptionHandler: public SubscriptionHandler
00023 {
00024 public:
00025
00026 PySubscriptionHandler(PyObject * p);
00027 void DataChange(uint32_t handle, const Node & node, const Variant & val, AttributeId attribute) override;
00028 void Event(uint32_t handle, const OpcUa::Event & event) override;
00029 void StatusChange(StatusCode status) override;
00030 static void DefaultDataChange(const SubscriptionHandler & self_, uint32_t handle, const Node & node, const object & val, uint32_t attribute);
00031 static void DefaultEvent(const SubscriptionHandler & self_, uint32_t handle, const OpcUa::Event & event);
00032 static void DefaultStatusChange(const SubscriptionHandler & self_, StatusCode status);
00033
00034 private:
00035 PyObject * self;
00036
00037 };
00038