OpcUaCanOpen
CANopen OPC-UA server
UaControlDeviceGeneric.h
Go to the documentation of this file.
1 #ifndef __UACANOPENGENERIC_H__
2 #define __UACANOPENGENERIC_H__
3 
4 
5 #include "uaobjecttypes.h"
6 #include "nodemanagerbase.h"
7 #include "CANOpenServerConfig.h"
9 
10 namespace AddressSpace
11 {
12  class NmBuildingAutomation;
13  class UaMethodGeneric;
14 
15 // class UaControlNode;
28  public OpcUa::BaseObjectTypeGeneric
29  {
31 
32  public:
33 // class UaControlNode<UaControlDeviceGeneric>;
43  const UaString& name,
44  const UaNodeId& newNodeId,
45  NmBuildingAutomation* pNodeManager,
46  OpcUa_Int32 baTypeId, // object type Id
49  );
50 
60  const UaString &name,
61  const UaNodeId& newNodeId,
62  NmBuildingAutomation* pNodeManager,
63  UaObjectType *instance,
66  );
76  const UaString &name,
77  const UaNodeId& newNodeId,
78  NmBuildingAutomation* pNodeManager,
79  UaObject *instance,
82  );
83  virtual ~UaControlDeviceGeneric(void);
84 
98  OpcUa_Byte eventNotifier() const;
100 
104 // MethodManager* getMethodManager(UaMethod* pMethod) const;
105 
107  OpcUa_UInt32 getDeviceTypeNumber() const;
108 
118  virtual UaStatus beginCall(
119  MethodManagerCallback* pCallback,
120  const ServiceContext& serviceContext,
121  OpcUa_UInt32 callbackHandle,
122  MethodHandle* pMethodHandle,
123  const UaVariantArray& inputArguments);
124 
126  virtual UaStatus call(
127  UaMethod* /*pMethod*/,
128  const UaVariantArray& /*inputArguments*/,
129  UaVariantArray& /*outputArguments*/,
130  UaStatusCodeArray& /*inputArgumentResults*/,
131  UaDiagnosticInfos& /*inputArgumentDiag*/)
132  { return OpcUa_BadMethodInvalid; }
133 
135 // UaMutexRefCounted* getObjectMutex() const { return m_pSharedMutex; }
136 
137  virtual void addMethod(OpcUa::BaseMethod* meth) { m_pMethod.push_back(meth); }
138 
139  protected:
140 
141  std::vector<OpcUa::BaseMethod*> m_pMethod;
142 // UaMutexRefCounted* m_pSharedMutex; //! shared mutex (uses be toolkit objects
143 
144  };
145 }
146 #endif