home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2001 Mobile
/
Chip_Mobile_2001.iso
/
palm
/
business
/
printcar
/
printcar.exe
/
src
/
Util
/
Error.cc
< prev
next >
Wrap
C/C++ Source or Header
|
2000-06-05
|
2KB
|
72 lines
//
// $Id: Error.cc,v 1.3 2000/06/04 23:23:51 sergey Exp $
//
#include <Pilot.h>
#include <System/FatalAlert.h>
#include <stdarg.h>
#include <stdio.h>
#include "Error.h"
namespace Util
{
//-- DefaultErrorHandler class -----------------------------------------------------------
//
// Default error handler.
// Uses ErrDisplayFileLineMsg to report errors.
//
class DefaultErrorHandler: public ErrorHandler
{
public:
virtual void reportError(bool fatal, const char* message)
{
if (SysFatalAlert((Char*)message) == fatalReset || fatal)
SysReset();
}
static DefaultErrorHandler defaultErrorHandler;
};
DefaultErrorHandler DefaultErrorHandler::defaultErrorHandler;
//-- Error class -----------------------------------------------------------
ErrorHandler* Error::_errorHandler = &DefaultErrorHandler::defaultErrorHandler;
// generic error messages
void Error::errorMessage0(bool fatal, const char* message)
{
_errorHandler->reportError(fatal, message);
}
void Error::errorMessage(bool fatal, const char* format, ...)
{
va_list args;
char buffer[256];
va_start(args, format);
StrVPrintF(buffer, format, args);
va_end(args);
_errorHandler->reportError(fatal, buffer);
}
// standard system errors
void Error::memoryAllocationError(const char* file, int line)
{
errorMessage(true, "%s,%d: Memory allocation error", file, line);
}
void Error::findLibraryError(const char* libName)
{
errorMessage(false, "Can't find library: %s", libName);
}
}
// namespace Util