//==========================
//		LocalError2.h
//==========================

#ifndef __LOCALERRORS_H_
#define __LOCALERRORS_H_

enum ERRORTYPE 
{
	NULL_ERROR,			// no error
	USER_ERROR,
	INFORMATION,
	NON_CRITICAL,
	SEVERE_ERROR,
	RETRY_ERROR,
	POPUP_MESSAGE		// special for popup window
};

enum POPUP_ALIGNMENT
{
	POPUP_TOP = 0,		// default position is reference point above
	POPUP_LEFT = 0,	// default position is reference point at left
	POPUP_RIGHT = 2,
	POPUP_BOTTOM = 4
};

enum RESULTTYPE
{
	RESULT_OK = IDOK,	
	RESULT_LOG_LOCAL,
	RESULT_REPORT_ERROR,
	RESULT_CANCEL = IDCANCEL
};

#endif	//	__LOCALERRORS_H_

#ifndef __LOCALERRORS2_H_
#define __LOCALERRORS2_H_

#ifndef EXPORT
#define EXPORT __declspec( dllexport )
#endif // EXPORT

typedef struct tag_ERRORMSG2
{
	char*		pszErrorString;
	UINT		nErrorCode;
	ERRORTYPE	ErrorType;
}	ERRORMSG2;

EXPORT int  CALLBACK ReportErrorStd2( ERRORMSG2 errMsg2, 
									  HKEY		hAppKey,
									  UINT		delay = 0, 
									  char *	pszCaptions = "",
									  char *	pszTitle = "" );
EXPORT void CALLBACK ReportPopup2( ERRORMSG2 errMsg2, UINT delay, 
								   POINT point, WORD wAlign );

#endif	//	__LOCALERROR2_H_

