/**@ingroup tcomp_manager_group */ tsk_size_t tcomp_manager_getNextStreamMessage(tcomp_manager_handle_t *handle, tcomp_result_t *lpResult) { tcomp_manager_t *manager = handle; if(!manager){ TSK_DEBUG_ERROR("Invalid parameter"); return 0; } if(!lpResult || !tcomp_buffer_getSize(lpResult->output_buffer)){ TSK_DEBUG_ERROR("Invalid result."); return 0; } if(!lpResult->isStreamBased){ TSK_DEBUG_ERROR("You MUST provide stream buffer."); return 0; } _tcomp_result_reset(lpResult, tsk_false, tsk_false); if(tcomp_decompressordisp_getNextMessage(manager->dispatcher_decompressor, lpResult)){ return *tcomp_buffer_getIndexBytes(lpResult->output_buffer); } return 0; }
static tsk_object_t* tcomp_result_dtor(tsk_object_t * self) { tcomp_result_t* result = self; if(result){ _tcomp_result_reset(result, tsk_true, tsk_true); TSK_OBJECT_SAFE_FREE(result->output_buffer); TSK_OBJECT_SAFE_FREE(result->ret_feedback); TSK_OBJECT_SAFE_FREE(result->nack_info); TSK_OBJECT_SAFE_FREE(result->remote_parameters); TSK_OBJECT_SAFE_FREE(result->req_feedback); } else{ TSK_DEBUG_ERROR("Null result object"); } return self; }