4 #include "methodhandleuanode.h" 16 const UaNodeId& newNodeId,
22 : OpcUa::BaseObjectTypeGeneric(newNodeId,
name, pNodeManager->getNameSpaceIndex(), pNodeManager )
24 UaObjectType* pInstanceDeclarationObject = NULL;
27 m_pSharedMutex->addReference();
30 setUserData(pCanInter);
31 setTypeDefinitionId(baTypeId);
37 addStatus = UaControlNode::UaControlNodeCreateByType<UaControlDeviceGeneric>(
this,pInstanceDeclarationObject,pNodeManager,
conf,pCanInter,getSharedMutex());
38 UA_ASSERT(addStatus.isGood());
47 const UaNodeId& newNodeId,
49 UaObjectType *instance,
54 : OpcUa::BaseObjectTypeGeneric( newNodeId,
name, pNodeManager->getNameSpaceIndex(), pNodeManager)
59 m_pSharedMutex->addReference();
62 uaId = instance->nodeId();
64 setUserData(pCanInter);
68 setTypeDefinitionId(uaId);
72 addStatus = UaControlNode::UaControlNodeCreateByType<UaControlDeviceGeneric>(
this,instance,pNodeManager,
conf,pCanInter,getSharedMutex());
73 UA_ASSERT(addStatus.isGood());
81 const UaNodeId& newNodeId,
87 : OpcUa::BaseObjectTypeGeneric(newNodeId,instance, pNodeManager )
92 m_pSharedMutex->addReference();
95 uaId = instance->nodeId();
97 setUserData(pCanInter);
99 setTypeDefinitionId(uaId);
103 addStatus = UaControlNode::UaControlNodeCreateByType<UaControlDeviceGeneric>(
this, instance, pNodeManager,
conf, pCanInter, getSharedMutex());
104 UA_ASSERT(addStatus.isGood());
121 return Ua_EventNotifier_None;
126 return this->typeDefinitionId().identifierNumeric();
130 MethodManagerCallback* pCallback,
131 const ServiceContext& serviceContext,
132 OpcUa_UInt32 callbackHandle,
133 MethodHandle* pMethodHandle,
134 const UaVariantArray& inputArguments)
137 UaVariantArray outputArguments;
138 UaStatusCodeArray inputArgumentResults;
139 UaDiagnosticInfos inputArgumentDiag;
140 MethodHandleUaNode* pMethodHandleUaNode =
static_cast<MethodHandleUaNode*
>(pMethodHandle);
143 OpcUa_ReferenceParameter(serviceContext);
145 if(pMethodHandleUaNode)
152 for (OpcUa_UInt32 i = 0; i <
m_pMethod.size(); i++) {
153 if ( pMethod->nodeId() ==
m_pMethod[i]->nodeId())
156 if ( inputArguments.length() > 0 )
158 ret = OpcUa_BadInvalidArgument;
168 pCallback->finishCall(
170 inputArgumentResults,
180 ret = OpcUa_BadInvalidArgument;
186 ret = OpcUa_BadInvalidArgument;