static const v_qosChangeMask immutableMask = V_POLICY_BIT_USERKEY; v_dataViewQos v_dataViewQosNew( v_kernel kernel, v_dataViewQos template) { v_dataViewQos q; c_base base; assert(kernel != NULL); assert(C_TYPECHECK(kernel,v_kernel)); base = c_getBase(c_object(kernel)); q = v_dataViewQos(v_qosCreate(kernel,V_DATAVIEW_QOS)); if (q != NULL) { if (template != NULL) { if (((v_qos)template)->kind != V_DATAVIEW_QOS) { OS_REPORT_1(OS_ERROR, "v_dataViewQos::New",0, "Illegal Qos kind specified (%s)", v_qosKindImage(v_qos(template)->kind)); c_free(q); return NULL; } else { q->userKey.enable = template->userKey.enable; if (q->userKey.enable) { q->userKey.expression = c_stringNew(base,template->userKey.expression); } else {
return result; } v_writerQos v_writerQosNew( v_kernel kernel, v_writerQos template) { v_writerQos q; c_base base; assert(kernel != NULL); assert(C_TYPECHECK(kernel,v_kernel)); base = c_getBase(c_object(kernel)); q = v_writerQos(v_qosCreate(base,V_WRITER_QOS)); if (q != NULL) { if (template != NULL) { *q = *template; q->userData.v.size = template->userData.v.size; if (template->userData.v.size > 0) { q->userData.v.value = c_arrayNew(c_octet_t(base),(c_ulong)template->userData.v.size); memcpy(q->userData.v.value,template->userData.v.value,(c_ulong)template->userData.v.size); } else { q->userData.v.value = NULL; } } else { q->durability.v.kind = V_DURABILITY_VOLATILE; q->deadline.v.period = OS_DURATION_INFINITE; q->latency.v.duration = OS_DURATION_ZERO;