gapi_returnCode_t gapi_dataReader_set_default_datareaderview_qos ( gapi_dataReader _this, const gapi_dataReaderViewQos *qos) { gapi_returnCode_t result = GAPI_RETCODE_OK; _DataReader dataReader = (_DataReader)_this; gapi_context context; GAPI_CONTEXT_SET(context, _this, GAPI_METHOD_SET_DEFAULT_DATAREADERVIEW_QOS); dataReader = gapi_dataReaderClaim(_this, &result); if ( dataReader ) { if ( qos ) { result = gapi_dataReaderViewQosIsConsistent(qos, &context); if ( result == GAPI_RETCODE_OK ) { gapi_dataReaderViewQosCopy (qos, &dataReader->_defDataReaderViewQos); } } else { result = GAPI_RETCODE_BAD_PARAMETER; } _EntityRelease(dataReader); } return result; }
gapi_dataReaderView gapi_dataReader_create_view ( gapi_dataReader _this, const gapi_dataReaderViewQos *qos) { _DataReader datareader = NULL; _DataReaderView view = NULL; gapi_dataReaderViewQos *viewQos; gapi_context context; GAPI_CONTEXT_SET(context, _this, GAPI_METHOD_CREATE_VIEW); datareader = gapi_dataReaderClaim(_this, NULL); if ( datareader && _EntityEnabled(datareader)) { if ( qos == GAPI_DATAVIEW_QOS_DEFAULT ) { viewQos = (gapi_dataReaderViewQos *)&datareader->_defDataReaderViewQos; } else { viewQos = (gapi_dataReaderViewQos *)qos; } if (gapi_dataReaderViewQosIsConsistent(viewQos,&context) == GAPI_RETCODE_OK) { view = _DataReaderViewNew (viewQos, datareader); if ( view ) { _ENTITY_REGISTER_OBJECT(_Entity(datareader), (_Object)view); } } } _EntityRelease(datareader); return (gapi_dataReaderView)_EntityRelease(view); }
/* ReturnCode_t * set_qos( * in DataReaderViewQos qos); * * Function will operate indepenedent of the enable flag */ gapi_returnCode_t gapi_dataReaderView_set_qos ( gapi_dataReaderView _this, const gapi_dataReaderViewQos *qos) { gapi_returnCode_t result = GAPI_RETCODE_OK; u_result uResult; _DataReaderView dataReaderView; v_dataViewQos dataReaderViewQos; gapi_context context; GAPI_CONTEXT_SET(context, _this, GAPI_METHOD_SET_QOS); dataReaderView = gapi_dataReaderViewClaim(_this, &result); if (dataReaderView != NULL) { if ( dataReaderView && qos) { result = gapi_dataReaderViewQosIsConsistent(qos, &context); } else { result = GAPI_RETCODE_BAD_PARAMETER; } if ( result == GAPI_RETCODE_OK ) { gapi_dataReaderViewQos * existing_qos = gapi_dataReaderViewQos__alloc(); result = gapi_dataReaderViewQosCheckMutability(qos, _DataReaderViewGetQos(dataReaderView, existing_qos), &context); gapi_free(existing_qos); } if ( result == GAPI_RETCODE_OK ) { dataReaderViewQos = u_dataViewQosNew(NULL); if (dataReaderViewQos) { if ( copyReaderViewQosIn(qos, dataReaderViewQos) ) { uResult = u_entitySetQoS(_EntityUEntity(dataReaderView),(v_qos)(dataReaderViewQos) ); result = kernelResultToApiResult(uResult); } else { result = GAPI_RETCODE_OUT_OF_RESOURCES; } u_dataViewQosFree(dataReaderViewQos); } else { result = GAPI_RETCODE_OUT_OF_RESOURCES; } } _EntityRelease(dataReaderView); } return result; }