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 #include "macros.hpp" 00024 00025 /***************************************************************************** 00026 ** Namespaces 00027 *****************************************************************************/ 00028 00029 namespace ecl { 00030 00034 class ecl_time_lite_PUBLIC TimeError : public Error { 00035 public: 00041 TimeError(const ErrorFlag& flag = UnknownError) : Error(flag) {} 00042 protected: 00043 virtual const char* outOfRangeErrorString() { return "The input time sec/nsec pair was outside of the permitted range."; } 00044 virtual const char* argNotSupportedErrorString() { return "The clock specified is not supported on this system."; } 00045 virtual const char* permissionsErrorString() { return "You do not have permission to set the specified clock."; } 00046 virtual const char* memoryErrorString() { return "One of the input arguments is not in memory addressable space."; } 00047 virtual const char* interruptedErrorString() { return "This operation was interrupted by a signal."; } 00048 }; 00049 00050 } // namespace ecl 00051 00052 #endif /* ECL_TIME_LITE_ERRORS_HPP_ */