#ifndef __SFJP_MYU__MXP_H__
#define __SFJP_MYU__MXP_H__

#define _NS_START_MXP		namespace mxp {
#define _NS_END_MXP			}

_NS_START_MXP

class CBasicGuiBase
{
public:
	virtual int MessageBox(const char* szText, const char* szTitle=NULL, void* pExt=NULL, void* pParent=NULL );
	virtual bool AskYesNo(const char* szText, const char* szTitle=NULL, void* pExt=NULL, void* pParent=NULL );
};

#define MXP_THREAD_TIMEOUT_MS_INIFINITE (0xffffffff)
//	クラス宣言
class CThreadBase
{
public:
	//	定数宣言
	//static const int TIMEOUT_MS_INFINITE = 0xffffffff;
	
protected:
	virtual bool ThreadFunc(int anyParam)=0;

public:
	//	コンストラクタ・デストラクタ
	CThreadBase(){}
	virtual ~CThreadBase(){}

	virtual bool StartThread(int anyParam)=0;
	virtual bool IsThreadEnded()=0;
	virtual bool ThreadWaitEnd(int nTimeoutMs=MXP_THREAD_TIMEOUT_MS_INIFINITE )=0;
};

_NS_END_MXP

#endif//__SFJP_MYU__MXP_H__
