gapi_instanceHandle_t _DataWriterRegisterInstance ( _DataWriter _this, const void *instanceData, c_time timestamp) { u_instanceHandle handle; u_result uResult; writerInfo wData; writerInfo *pData = NULL; gapi_instanceHandle_t result = GAPI_HANDLE_NIL; if ( instanceData ) { wData.writer = _this; wData.data = (void *)instanceData; pData = &wData; } uResult = u_writerRegisterInstance(U_WRITER_GET(_this), (void *)pData, timestamp, &handle); if(uResult == U_RESULT_OK){ result = (gapi_instanceHandle_t)handle; } return result; }
u_result nb_topicObjectWrite( u_writer writer, nb_topicObject _this) { u_result result = U_RESULT_UNSUPPORTED; os_timeW timestamp; assert(writer); nb_objectIsValid(_this); timestamp = _this->writeTime; if(v_stateTest(_this->state, L_REGISTER)){ result = u_writerRegisterInstance( writer, nb_topicObjectCopyIn, _this, timestamp, U_INSTANCEHANDLE_NIL); } else if(v_stateTest(_this->state, L_WRITE) && v_stateTest(_this->state, L_DISPOSED)){ result = u_writerWriteDispose( writer, nb_topicObjectCopyIn, _this, timestamp, U_INSTANCEHANDLE_NIL); } else if(v_stateTest(_this->state, L_WRITE)) { result = u_writerWrite( writer, nb_topicObjectCopyIn, _this, timestamp, U_INSTANCEHANDLE_NIL); } else if(v_stateTest(_this->state, L_DISPOSED)) { result = u_writerDispose( writer, nb_topicObjectCopyIn, _this, timestamp, U_INSTANCEHANDLE_NIL); } return result; }