diff -r 22486c9c7b15 -r 378360dbbdba imgtools/romtools/rofsbuild/inc/cache/cacheexception.hpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imgtools/romtools/rofsbuild/inc/cache/cacheexception.hpp Wed Jun 30 11:35:58 2010 +0800 @@ -0,0 +1,55 @@ +/** + * @file cacheexception.hpp + */ + + +#ifndef ROM_TOOLS_ROFSBUILD_CACHE_CACHEEXCEPTION_H_ +#define ROM_TOOLS_ROFSBUILD_CACHE_CACHEEXCEPTION_H_ + + +/** + * @class CacheException + * @brief Encapsulates all possible failures happening inside cache. + */ +class CacheException +{ +public: + /** + * @fn CacheException::CacheException(int ErrorCode) + * @brief Constructor + * @param ErrorCode The error code, must be one of the static constants. + */ + CacheException(int ErrorCode); + + /** + * @fn int CacheException::GetErrorCode(void) + * @brief Retrieve integer error number. + * @reurn The error code. + */ + int GetErrorCode(void); + + /** + * @fn const char* CacheException::GetErrorMessage(void) + * @brief Retrieve text error message. + * @return The error message. + */ + const char* GetErrorMessage(void); + + virtual ~CacheException(void); + + static int EPOCROOT_NOT_FOUND ; + static int RESOURCE_ALLOCATION_FAILURE; + static int CACHE_NOT_FOUND ; + static int CACHE_INVALID ; + static int CACHE_IS_EMPTY ; + static int HARDDRIVE_FAILURE ; +protected: + int errcode; +private: + CacheException(void); + + CacheException& operator = (const CacheException&); +}; + + +#endif /* defined ROM_TOOLS_ROFSBUILD_CACHE_CACHEEXCEPTION_H_ */