#include "shared/Finalize_tl.h"
#include "tz_dk_errors.h"

tciReturnCode_t process_Finalize(
	tl_dk_ctx_t * ctx,
	tz_dk_finalize_payload_t * sendmsg,
	tz_dk_finalize_payload_t * respmsg
)
{
	TZ_DIGITALKEY_Result ret = TZ_DIGITALKEY_SUCCESS;
	tz_finalize_resp_t *resp = &respmsg->payload.resp;

	if (!ctx->digitalkey_init_count) {
		ret = TZ_DIGITALKEY_NOT_INITIALIZED;
		goto exit;
	}

	ctx->digitalkey_init_count--;
exit:
	resp->return_code = ret;

	return RET_TL_TZ_DIGITALKEY_OK;
}
