/***************************************************************************/
/** @file       input_raw_base.h
	@brief      
	@author     shom
	@internal
****************************************************************************/

#pragma once


class cinput_raw_base
{
///--	declare methods
public:
	cinput_raw_base(
#ifdef DX
		LPDIRECTINPUT8 p_dinput
#endif
		);
	virtual	~cinput_raw_base();

	virtual b32		Initialize(
#ifdef DX
		HWND HWnd
#endif
		);
	virtual void	Finalize() = 0;

	virtual void	RestartDevice();

protected:
	virtual void	release_all();
///--

///--	declare variables
protected:
#ifdef DX
	LPDIRECTINPUT8			m_p_dinput;

	LPDIRECTINPUTDEVICE8	m_p_device;
#endif
///--
};
