Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members

uerror.hpp

00001 /* ==================================================== ======== ======= *
00002  *
00003  *  uerror.hh
00004  *  Ubit Project  [Elc][2003]
00005  *  Author: Eric Lecolinet
00006  *
00007  *  Part of the Ubit Toolkit: A Brick Construction Game Model for Creating GUIs
00008  *
00009  *  (C) 1999-2003 Eric Lecolinet @ ENST Paris
00010  *  WWW: http://www.enst.fr/~elc/ubit   Email: elc@enst.fr (subject: ubit)
00011  *
00012  * ***********************************************************************
00013  * COPYRIGHT NOTICE : 
00014  * THIS PROGRAM IS DISTRIBUTED WITHOUT ANY WARRANTY AND WITHOUT EVEN THE 
00015  * IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 
00016  * YOU CAN REDISTRIBUTE IT AND/OR MODIFY IT UNDER THE TERMS OF THE GNU 
00017  * GENERAL PUBLIC LICENSE AS PUBLISHED BY THE FREE SOFTWARE FOUNDATION; 
00018  * EITHER VERSION 2 OF THE LICENSE, OR (AT YOUR OPTION) ANY LATER VERSION.
00019  * SEE FILES 'COPYRIGHT' AND 'COPYING' FOR MORE DETAILS.
00020  * ***********************************************************************
00021  *
00022  * ==================================================== [Elc:03] ======= *
00023  * ==================================================== ======== ======= */
00024 
00025 #ifndef _uerror_hh
00026 #define _uerror_hh
00027 //pragma ident  "@(#)uerror.hh  ubit:03.04.00"
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 /* ==================================================== [TheEnd] ======= */
00101 /* ==================================================== [Elc:03] ======= */

Generated on Tue Mar 8 22:31:23 2005 for Ubit[Eric.Lecolinet@enst.fr] by  doxygen 1.4.1