static UA_StatusCode UA_Node_copy(const UA_Node *src, UA_Node *dst) { UA_StatusCode retval = UA_STATUSCODE_GOOD; UA_Node_init(dst); retval |= UA_NodeId_copy(&src->nodeId, &dst->nodeId); dst->nodeClass = src->nodeClass; retval |= UA_QualifiedName_copy(&src->browseName, &dst->browseName); retval |= UA_LocalizedText_copy(&src->displayName, &dst->displayName); retval |= UA_LocalizedText_copy(&src->description, &dst->description); dst->writeMask = src->writeMask; dst->userWriteMask = src->userWriteMask; dst->referencesSize = src->referencesSize; retval |= UA_Array_copy(src->references, (void**)&dst->references, &UA_TYPES[UA_TYPES_REFERENCENODE], src->referencesSize); if(retval) UA_Node_deleteMembers(dst); return retval; }
void UA_DataTypeNode_deleteMembers(UA_DataTypeNode *p) { UA_Node_deleteMembers((UA_Node*)p); }
void UA_ViewNode_deleteMembers(UA_ViewNode *p) { UA_Node_deleteMembers((UA_Node*)p); }
void UA_MethodNode_deleteMembers(UA_MethodNode *p) { #ifdef ENABLE_METHODCALLS p->attachedMethod = UA_NULL; #endif UA_Node_deleteMembers((UA_Node*)p); }
void UA_ReferenceTypeNode_deleteMembers(UA_ReferenceTypeNode *p) { UA_Node_deleteMembers((UA_Node*)p); UA_LocalizedText_deleteMembers(&p->inverseName); }
void UA_VariableTypeNode_deleteMembers(UA_VariableTypeNode *p) { UA_Node_deleteMembers((UA_Node*)p); if(p->valueSource == UA_VALUESOURCE_VARIANT) UA_Variant_deleteMembers(&p->value.variant.value); }
void UA_ObjectTypeNode_deleteMembers(UA_ObjectTypeNode *p) { UA_Node_deleteMembers((UA_Node*)p); }
static void deleteEntry(UA_NodeMapEntry *entry) { UA_Node_deleteMembers(&entry->node); UA_free(entry); }
void UA_MethodNode_deleteMembers(UA_MethodNode *p) { UA_Node_deleteMembers((UA_Node*)p); }