/** @file * $Source: /repository/event/Exception.h,v $ * $Id: Exception.h,v 1.3 2008-03-04 18:07:25 messineo Exp $ * $Author: messineo $ * * Header file for the exceptions of Pamela. */ #ifndef EXCEPTION_H #define EXCEPTION_H #include #include #define UINT32 unsigned int #define UINT16 unsigned short #define UINT8 unsigned char using namespace std; namespace pamela { class Exception: public exception { private: protected: const char *message; char buff [100]; public: Exception(const char *msg = "message"): message(msg){ } virtual ~Exception () throw(){ } virtual const char* print () const throw () { return message; } }; //marco: class CalibException: public Exception { public: CalibException::CalibException(const char* msg): Exception(msg) {} CalibException::~CalibException () throw(){ } }; //marco: class WrongCRCException_PKTUsed: public Exception { public: WrongCRCException_PKTUsed::WrongCRCException_PKTUsed(const char* msg): Exception(msg) {} WrongCRCException_PKTUsed::~WrongCRCException_PKTUsed () throw(){ } }; //marco: class FatalException: public Exception { public: FatalException::FatalException(const char* msg): Exception(msg) {} FatalException::~FatalException () throw(){ } }; class NotFoundEnvironmentVarException: public Exception { public: NotFoundEnvironmentVarException::NotFoundEnvironmentVarException(const char* msg): Exception(msg) {} NotFoundEnvironmentVarException::~NotFoundEnvironmentVarException () throw(){ } }; class UnidentifiedPacketException: public Exception { private: UINT8 pktId; public: UnidentifiedPacketException::UnidentifiedPacketException(UINT8 id): Exception("Unidentified PacketType - Id: ") { pktId = id; } UnidentifiedPacketException::~UnidentifiedPacketException () throw(){ } const char* UnidentifiedPacketException::print () const throw () { sprintf((char*)buff," %s 0x%x", message, pktId); return buff; } }; class WrongCRCException: public Exception { public: WrongCRCException::WrongCRCException(const char* msg): Exception(msg) {} WrongCRCException::~WrongCRCException () throw(){ } }; class WrongCRCHeaderException: public Exception { public: WrongCRCHeaderException::WrongCRCHeaderException(const char* msg): Exception(msg) {} WrongCRCHeaderException::~WrongCRCHeaderException () throw(){ } }; class LengthException: public Exception { public: LengthException::LengthException(const char* msg): Exception(msg) { } LengthException::~LengthException () throw(){ } }; class NotExistingAlgorithmException: public Exception { public: NotExistingAlgorithmException::NotExistingAlgorithmException(const char *msg): Exception(msg) { } NotExistingAlgorithmException::~NotExistingAlgorithmException () throw(){ } }; class NotExistingCounterException: public Exception { public: NotExistingCounterException::NotExistingCounterException(const char *msg): Exception(msg) { } NotExistingCounterException::~NotExistingCounterException () throw(){ } }; class BackwardCounterException: public Exception { public: BackwardCounterException::BackwardCounterException(const char *msg): Exception(msg) { } BackwardCounterException::~BackwardCounterException () throw(){ } }; } #endif /* EXCEPTION_H */