Esempio n. 1
0
/**@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;
}
Esempio n. 2
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;
}