UA_StatusCode UA_VariableNode_copy(const UA_VariableNode *src, UA_VariableNode *dst) { UA_VariableNode_init(dst); UA_StatusCode retval = UA_Node_copy((const UA_Node*)src, (UA_Node*)dst); dst->valueRank = src->valueRank; dst->valueSource = src->valueSource; if(src->valueSource == UA_VALUESOURCE_VARIANT) retval = UA_Variant_copy(&src->value.variant, &dst->value.variant); else dst->value.dataSource = src->value.dataSource; if(retval) { UA_VariableNode_deleteMembers(dst); return retval; } dst->accessLevel = src->accessLevel; dst->userAccessLevel = src->accessLevel; dst->minimumSamplingInterval = src->minimumSamplingInterval; dst->historizing = src->historizing; return UA_STATUSCODE_GOOD; }
UA_VariableNode * UA_VariableNode_new(void) { UA_VariableNode *p = (UA_VariableNode*)UA_malloc(sizeof(UA_VariableNode)); if(p) UA_VariableNode_init(p); return p; }