OpcUaCanOpen
CANopen OPC-UA server
UaProgramStartVariable.h
Go to the documentation of this file.
1 #ifndef __UAPROGRAMSTARTVARIABLE_H__
2 #define __UAPROGRAMSTARTVARIABLE_H__
3 
4 #include "uaobjecttypes.h"
5 #include "NmBuildingAutomation.h"
6 #include "uaobjecttypes.h"
7 #include "UaControlDeviceItem.h"
8 #include "UaProgramItem.h"
9 #include "CANOpenServerConfig.h"
10 #include "Ids.h"
11 
12 namespace AddressSpace
13 {
15  public UaControlVariable
16  {
17  public:
27  const UaString& name,
28  const UaNodeId& newNodeId,
29  NmBuildingAutomation* pNodeManager,
30  UaVariant &dv,
31  UaProgramItem *prog,
32  UaMutexRefCounted* pSharedMutex
33  ) : UaControlVariable(name, newNodeId, pNodeManager, dv, pSharedMutex)
34  {
35  setTypeDefinition(UaNodeId(BA_STARTPROGRAM, pNodeManager->getNameSpaceIndex()));
36  m_pProg = prog;
37  setUserData(NULL);
38  }
39 
47  virtual UaStatus setValue(Session *pSession, const UaDataValue& dataValue, OpcUa_Boolean checkAccessLevel)
48  {
49  UaStatus ret;
50  ret = OpcUa::BaseDataVariableType::setValue(pSession, dataValue, checkAccessLevel);
51  // TRACE1_DATA(SERVER_CORE, UA_T"<-- UaCalcItem::callCalculation %s", this->browseName().toString().toUtf8());
52 // UaNodeId id = nodeId();
53  valueChange(pSession, dataValue, checkAccessLevel); // send signal
55  return ret;
56  }
64  virtual UaStatus setValueOnChange(Session *pSession, const UaDataValue& dataValue, OpcUa_Boolean checkAccessLevel)
65  {
66  UaStatus ret;
67  ret = OpcUa::BaseDataVariableType::setValue(0, dataValue, false);
68  // TRACE1_DATA(SERVER_CORE, UA_T"<-- UaCalcItem::callCalculation %s", this->browseName().toString().toUtf8());
69 // UaNodeId id = nodeId();
70  valueChange(pSession,dataValue, checkAccessLevel); // send signal
72  return ret;
73  }
74  private:
76 
77  };
78 
79 }
80 
81 #endif