v_dataViewInstance v_dataViewInstanceNew( v_dataView dataView, v_dataViewSample viewSample) { v_dataViewInstance instance; assert(dataView); assert(viewSample); assert(C_TYPECHECK(dataView,v_dataView)); assert(C_TYPECHECK(viewSample,v_dataViewSample)); instance = v_dataViewInstance(c_new(dataView->instanceType)); if (instance) { v_object(instance)->kernel = v_objectKernel(dataView); v_objectKind(instance) = K_DATAVIEWINSTANCE; v_instanceInit(v_instance(instance), v_entity(dataView)); viewSample->next = viewSample; v_dataViewInstanceTemplate(instance)->sample = viewSample; instance->sampleCount = 1; v_stateSet(v_instanceState(instance),L_NEW); v_stateClear(v_readerSample(viewSample)->sampleState,L_READ); assert(C_TYPECHECK(instance,v_dataViewInstance)); CHECK_INSTANCE(instance); } else { OS_REPORT(OS_FATAL, OS_FUNCTION, V_RESULT_INTERNAL_ERROR, "Failed to allocate v_dataViewInstance"); assert(FALSE); } return instance; }
v_deadLineInstanceList v_deadLineInstanceListNew( c_base base, v_leaseManager leaseManager, v_duration leaseDuration, v_leaseActionId actionId, v_public o) { v_deadLineInstanceList list; c_type type; assert(C_TYPECHECK(leaseManager,v_leaseManager)); assert(C_TYPECHECK(o,v_public)); type = c_resolve(base, "kernelModule::v_deadLineInstanceList"); assert(type); list = c_new(type); c_free(type); if (list) { v_objectKind(list) = K_DEADLINEINSTANCE; v_instanceInit(v_instance(list)); list->leaseManager = c_keep(leaseManager); list->leaseDuration = leaseDuration; list->deadlineLease = NULL; list->actionObject = o; /* no keep, since actionObject is onwer of v_deadLineInstanceList */ list->actionId = actionId; } else { OS_REPORT(OS_ERROR, "v_deadLineInstanceListNew",0, "Failed to allocate v_deadLineInstanceList."); } return list; }