00001 #ifndef _WINC_MESSAGE
00002 #define _WINC_MESSAGE
00003
00004 #include <WXP/File.h>
00005 #include <WXP/String.h>
00006
00007 namespace WXP {
00008 typedef unsigned long Messtype;
00009
00010 class Message {
00011 Messtype level;
00012 int num;
00013 int out;
00014 int page;
00015 int lines;
00016 int max_lines;
00017 File ofile;
00018 File pfile;
00019 String filename;
00020
00021 public:
00022 int init();
00023 Message( const char *str );
00024 Message( );
00025 ~Message( );
00026 int destroy( );
00027 int set( Messtype val );
00028 int set( const char *str );
00029 Messtype get( );
00030 int getNum( );
00031 int setPageLength( int val );
00032 bool check( Messtype type );
00033 int print( Messtype type, const char *mess, ... );
00034 int hold( Messtype type, const char *mess );
00035 int printProgramInfo( const char *string );
00036
00037
00038
00039 static const Messtype NONE = 0x00000000L;
00040 static const Messtype PRINT = 0x0000000FL;
00041 static const Messtype PRINTA = 0x00000001L;
00042 static const Messtype PRINTB = 0x00000002L;
00043 static const Messtype PRINTC = 0x00000004L;
00044 static const Messtype PRINTD = 0x00000008L;
00045 static const Messtype ERROR = 0x00000030L;
00046 static const Messtype ERRORA = 0x00000010L;
00047 static const Messtype ERRORB = 0x00000020L;
00048 static const Messtype WARN = 0x000000C0L;
00049 static const Messtype WARNC = 0x00000040L;
00050 static const Messtype WARND = 0x00000080L;
00051 static const Messtype MESS = 0x00000F00L;
00052 static const Messtype MESSA = 0x00000100L;
00053 static const Messtype MESSB = 0x00000200L;
00054 static const Messtype MESSC = 0x00000400L;
00055 static const Messtype MESSD = 0x00000800L;
00056 static const Messtype OUT1 = 0x0000F000L;
00057 static const Messtype OUT1A = 0x00001000L;
00058 static const Messtype OUT1B = 0x00002000L;
00059 static const Messtype OUT1C = 0x00004000L;
00060 static const Messtype OUT1D = 0x00008000L;
00061 static const Messtype OUT2 = 0x000F0000L;
00062 static const Messtype OUT2A = 0x00010000L;
00063 static const Messtype OUT2B = 0x00020000L;
00064 static const Messtype OUT2C = 0x00040000L;
00065 static const Messtype OUT2D = 0x00080000L;
00066 static const Messtype OUT3 = 0x00F00000L;
00067 static const Messtype OUT3A = 0x00100000L;
00068 static const Messtype OUT3B = 0x00200000L;
00069 static const Messtype OUT3C = 0x00400000L;
00070 static const Messtype OUT3D = 0x00800000L;
00071 static const Messtype OUT4 = 0x0F000000L;
00072 static const Messtype OUT4A = 0x01000000L;
00073 static const Messtype OUT4B = 0x02000000L;
00074 static const Messtype OUT4C = 0x04000000L;
00075 static const Messtype OUT4D = 0x08000000L;
00076 static const Messtype DEBUG = 0xF0000000L;
00077 static const Messtype DEBUGA = 0x10000000L;
00078 static const Messtype DEBUGB = 0x20000000L;
00079 static const Messtype DEBUGC = 0x40000000L;
00080 static const Messtype DEBUGD = 0x80000000L;
00081
00082 static const Messtype MASK_NONE = 0x00000000L;
00083 static const Messtype MASK_PRINT = 0x0000000FL;
00084 static const Messtype MASK_ERROR = 0x0000003FL;
00085 static const Messtype MASK_WARN = 0x000000FFL;
00086 static const Messtype MASK_MESS = 0x00000FFFL;
00087 static const Messtype MASK_OUT1 = 0x0000FFFFL;
00088 static const Messtype MASK_OUT2 = 0x000FFFFFL;
00089 static const Messtype MASK_OUT3 = 0x00FFFFFFL;
00090 static const Messtype MASK_OUT4 = 0x0FFFFFFFL;
00091 static const Messtype MASK_DEBUG = 0xFFFFFFFFL;
00092 };
00093 }
00094 #endif