preliminary fix for shift and implicit cast
[fw/sdcc] / sim / ucsim / sim.src / appcl.h
index e1e4e3ddcf852e293b04b17918d91fb43355a314..1b26482bb462446666eae6fa3f68310fccbddacd 100644 (file)
@@ -30,8 +30,13 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 
 #include "ddconfig.h"
 
+// prj
 #include "pobjcl.h"
 
+// local, sim.src
+#include "argcl.h"
+#include "simcl.h"
+
 
 /* Options */
 
@@ -44,7 +49,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 #define OPT_Z80                0x0040
 #define OPT_TARGET     (OPT_51|OPT_AVR|OPT_Z80)
 
-class cl_option: public cl_base
+/*class cl_option: public cl_base
 {
 public:
   int type;    // See OPT_XXX
@@ -54,7 +59,7 @@ public:
 
 public:
   cl_option(int atype, char sn, char *ln);
-  ~cl_option(void);
+  virtual ~cl_option(void);
 
   virtual int add_value(char *value);
   virtual char *get_value(int index);
@@ -64,19 +69,47 @@ class cl_options: public cl_list
 {
 public:
   cl_options(void);
-};
+};*/
 
 
 /* Application */
 
 class cl_app: public cl_base
 {
+protected:
+  class cl_commander *commander;
 public:
-  class cl_options *options;
+  class cl_sim *sim;
+  class cl_ustrings *in_files;
+  class cl_arguments *args;
+  int going;
 
 public:
   cl_app(void);
-  ~cl_app(void);
+  virtual ~cl_app(void);
+
+public:
+  virtual int init(int argc , char *argv[]);
+  virtual int run(void);
+  virtual void done(void);
+
+protected:
+  virtual int proc_arguments(int argc, char *argv[]);
+
+public:
+  class cl_sim *get_sim(void) { return(sim); }
+  class cl_commander *get_commander(void) { return(commander); }
+  virtual class cl_cmd *get_cmd(class cl_cmdline *cmdline);
+
+public: // messages to broadcast
+  virtual void mem_cell_changed(class cl_mem *mem, t_addr addr);
+
+public:
+  virtual void set_simulator(class cl_sim *simulator);
+  virtual void remove_simulator(void);
+
+protected:
+  virtual void build_cmdset(class cl_cmdset *cs);
 };