00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _uerror_hh
00026 #define _uerror_hh
00027
00028
00029
00030 class UError {
00031 public:
00032 typedef const char* err_mesg;
00033 static err_mesg
00034 No_more_memory,
00035 Null_argument,
00036 Null_or_invalid_argument,
00037 Null_arg_in_addlist,
00038 Warning_out_of_range,
00039 Child_not_found,
00040 Too_many_elements,
00041 Unexpected_type,
00042 Not_yet_implemented,
00043
00044 Null_display,
00045 Unrealized_window,
00046 Cant_realize_window,
00047 Cant_realize_softwin,
00048 Cant_create_window,
00049 Cant_open_display,
00050 Invalid_screen,
00051 Null_external_window,
00052
00053 Cant_realize_wingraph,
00054 Unbalanced_request,
00055 Cant_retreive_font,
00056 Invalid_font_size,
00057 Unknown_color,
00058 Full_colormap,
00059 Null_colormap,
00060
00061 Null_width_or_height,
00062 Incompatible_depths,
00063 Unrealized_image,
00064 Blending_requires_TrueColor,
00065
00066 Cant_retreive_context,
00067 Cant_retreive_style,
00068 Cant_locate_source,
00069 Should_not_be_realized,
00070 Wrong_table_child,
00071 Wrong_row_child;
00072
00073 const char* id;
00074 const char* msg;
00075 char* const arg;
00076
00077 UError(const char* id, const char* msg, const char* arg);
00078 ~UError();
00079
00080 static void error(const char* id, const char* msg);
00081 static void error(const char* id, const char* msg, long arg);
00082 static void error(const char* id, const char* msg, const char* arg);
00083 static void error(const char* id, const char* msg, const UStr& arg);
00084 static void error(const char* id, const char* msg, const std::string& arg);
00094 private:
00095
00096 static void process_error(const char* id, const char *errmsg,
00097 bool has_arg, const char* arg);
00098 };
00099 #endif
00100
00101