#ifdef ASURA_USE_PRAGMA_ONCE
	#pragma once
#endif //#ifdef ASURA_USE_PRAGMA_ONCE

#ifndef ASURA_PS3_SONY_SUBMISSION
#ifndef __ASURA_PS3_GPIO_H__
#define __ASURA_PS3_GPIO_H__

#include <sys/gpio.h>

class Asura_PS3_GPIO
{
public:
	static void CacheGPI( void )
	{
		sys_gpio_get( SYS_GPIO_DIP_SWITCH_DEVICE_ID, &s_u64Dip_switch );
	}

	static bool GetGPI( unsigned char ucSwitch )
	{
		if( ucSwitch < 3 && ( s_u64Dip_switch & ( 1 << ucSwitch ) ) )
		{
			return true;
		}
		return false;
	}

private:
	//Private constructor & destructor
	static uint64_t s_u64Dip_switch;

	Asura_PS3_GPIO()	{ }
	~Asura_PS3_GPIO()	{ }
};


#endif //#ifndef __ASURA_PS3_GPIO_H__

#endif //#ifndef ASURA_PS3_SONY_SUBMISSION
