00001
00002
00003
00004
00005
00006
00007 #ifndef __cmt_error_h__
00008 #define __cmt_error_h__
00009
00010 #include "cmt_std.h"
00011 #include "cmt_string.h"
00012
00013 class CmtError
00014 {
00015 public:
00016
00017 typedef enum
00018 {
00019 ok,
00020 warning,
00021 symbol_not_found,
00022 pattern_not_found,
00023 syntax_error,
00024 command_not_implemented,
00025 package_not_found,
00026 path_not_found,
00027 version_conflict,
00028 file_access_error,
00029 execution_error,
00030 cannot_lock,
00031 cannot_write_lock,
00032 cannot_run_lock_command,
00033 cannot_unlock,
00034 cannot_run_unlock_command,
00035 cannot_remove_lock,
00036 conflicting_lock,
00037 unknown_command,
00038 project_release_conflict
00039 } code;
00040
00041 static void clear ();
00042 static code get_last_error_code ();
00043 static bool has_pending_error ();
00044 static const cmt_string& get_error_name (code error);
00045 static void set (code error, const cmt_string& text);
00046 static cmt_string get_last_error ();
00047 static void print ();
00048 };
00049
00050 #endif