X-Git-Url: https://git.gag.com/?a=blobdiff_plain;ds=sidebyside;f=sim%2Fucsim%2Ferrorcl.h;h=a061b3a311e6d0c07de6704fff515bc8637ae04c;hb=5156ec0bb15ef639c2aa78f616a05e3ab0435813;hp=c4075bd4a6433bc465dd46415e9eceeb949d70f4;hpb=32f9d7bd4da99c9837bc529a8d847c7c0d873684;p=fw%2Fsdcc diff --git a/sim/ucsim/errorcl.h b/sim/ucsim/errorcl.h index c4075bd4..a061b3a3 100644 --- a/sim/ucsim/errorcl.h +++ b/sim/ucsim/errorcl.h @@ -44,17 +44,6 @@ enum error_on_off { const int err_stop= (err_unknown|err_error); -#define ERROR_CLASS_DECL(NAME) \ -extern class cl_error_class error_##NAME##_class;\ -class cl_error_##NAME - -#define ERROR_CLASS_DEF_PARENT(TYPE,NAME,CLASS_NAME,PARENT) \ -class cl_error_class error_##NAME##_class(TYPE, CLASS_NAME, &(PARENT)) - -#define ERROR_CLASS_DEF_PARENT_ON(TYPE,NAME,CLASS_NAME,PARENT,ON) \ -class cl_error_class error_##NAME##_class(TYPE, CLASS_NAME, &(PARENT), ON) - - extern class cl_list *registered_errors; class cl_error_class: public cl_base @@ -64,14 +53,11 @@ protected: //char *name; enum error_on_off on; public: - cl_error_class(enum error_type typ, char *aname); cl_error_class(enum error_type typ, char *aname, - enum error_on_off be_on); - cl_error_class(enum error_type typ, char *aname, - class cl_error_class *parent); + enum error_on_off be_on= ERROR_PARENT); cl_error_class(enum error_type typ, char *aname, class cl_error_class *parent, - enum error_on_off be_on); + enum error_on_off be_on= ERROR_PARENT); enum error_on_off get_on(void) { return(on); } void set_on(enum error_on_off val); @@ -81,13 +67,12 @@ public: //char *get_name(void); }; -extern class cl_error_class error_class_base; - - class cl_commander; //forward class cl_error: public cl_base { +private: + static class cl_error_class *error_class_base; protected: class cl_error_class *classification; public: @@ -97,7 +82,7 @@ public: cl_error(void); virtual ~cl_error(void); virtual int init(void); - + public: virtual enum error_type get_type(void); virtual enum error_on_off get_on(void);