//
// Asura_PlatformFileAccessUtils.h
//
// Created by KOR - 09 October 2006
//
// Copyright (C) 2006 Rebellion, All Rights Reserved.
//

#ifdef ASURA_USE_PRAGMA_ONCE
#pragma once
#endif

#ifndef __ASURA_PLATFORMFILEACCESSUTILS_H__
#define __ASURA_PLATFORMFILEACCESSUTILS_H__

#include "Core/Asura_PlatformBasics.h"
#include "Bink/Asura_Bink.h"

enum ASURA_WII_DISC_ERROR
{
	ASURA_WII_DISC_ERROR_NONE = -1,
	ASURA_WII_DISC_ERROR_FATAL = 0,
	ASURA_WII_DISC_ERROR_NO_DISK,
	ASURA_WII_DISC_ERROR_WRONG_DISK,
	ASURA_WII_DISC_ERROR_RETRY,
	ASURA_WII_DISC_NUM_ERRORS,
};

class Asura_PlatformFileAccessUtils
{
public:
#ifdef ASURA_USE_BINK
    static bool CheckDiscStatus(HBINK pxBinkHandle = 0);
#else
	static bool CheckDiscStatus();
#endif
	static void AllowHomeButton(bool bAllow) {s_bAllowHomeButton = bAllow; }

private:
    static const char* PlatformProject_GetDiscErrorString( ASURA_WII_DISC_ERROR eDriveStatus );
	static ASURA_WII_DISC_ERROR GetDiscError();
	static bool s_bAllowHomeButton;
};

#endif//__ASURA_PLATFORMFILEACCESSUTILS_H__