00001 #ifndef __CSIMERROR_H__
00002 #define __CSIMERROR_H__
00003
00004 #include <stdlib.h>
00005 #include <stdio.h>
00006 #include <stdarg.h>
00007 #include <string.h>
00008
00010 class csimError {
00011 public:
00012 csimError(void) {
00013 lMessage=128;
00014 message=(char *)malloc(lMessage*sizeof(char));
00015
00016 *message = 0;
00017
00018 clear();
00019 }
00020
00021 ~csimError() {
00022 if (message) free(message);
00023 }
00024
00026 void add(const char *fmt, ...);
00027
00029 void clear(void) {
00030 message[0]=0;
00031 add("\n\nCSIM-Error:\n");
00032 hasMsg = 0;
00033 }
00034
00036 char *msg(void) { return message; }
00037
00039 bool hasErrorMsg(void) { return hasMsg; }
00040 private:
00041 char *message;
00042 int lMessage;
00043 bool hasMsg;
00044 };
00045
00046 extern csimError TheCsimError;
00047
00048 #endif