Merge branch ucsim-034-pre3 to main trunk; new version 0.4
[fw/sdcc] / sim / ucsim / sim.src / appcl.h
index 610eba30974407c50d95e79477c4c56635203d62..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 */
 
@@ -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);
@@ -72,22 +77,33 @@ public:
 class cl_app: public cl_base
 {
 protected:
-  //class cl_options *options;
+  class cl_commander *commander;
+public:
   class cl_sim *sim;
-  class cl_cmdset *cmdset;
+  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(void);
+  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);