00001 00010 /***************************************************************************** 00011 ** Ifdefs 00012 *****************************************************************************/ 00013 00014 #ifndef ECL_TIME_LITE_ERRORS_HPP_ 00015 #define ECL_TIME_LITE_ERRORS_HPP_ 00016 00017 /***************************************************************************** 00018 ** Includes 00019 *****************************************************************************/ 00020 00021 #include <ecl/errors/handlers.hpp> 00022 #include <ecl/config/macros.hpp> 00023 00024 /***************************************************************************** 00025 ** Namespaces 00026 *****************************************************************************/ 00027 00028 namespace ecl { 00029 00033 class ECL_PUBLIC TimeError : public Error { 00034 public: 00040 TimeError(const ErrorFlag& flag = UnknownError) : Error(flag) {} 00041 protected: 00042 virtual const char* outOfRangeErrorString() { return "The input time sec/nsec pair was outside of the permitted range."; } 00043 virtual const char* argNotSupportedErrorString() { return "The clock specified is not supported on this system."; } 00044 virtual const char* permissionsErrorString() { return "You do not have permission to set the specified clock."; } 00045 virtual const char* memoryErrorString() { return "One of the input arguments is not in memory addressable space."; } 00046 virtual const char* interruptedErrorString() { return "This operation was interrupted by a signal."; } 00047 }; 00048 00049 } // namespace ecl 00050 00051 #endif /* ECL_TIME_LITE_ERRORS_HPP_ */