#include "ddconfig.h"
+// prj
#include "pobjcl.h"
+// local, sim.src
+#include "argcl.h"
+#include "simcl.h"
+
/* Options */
#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
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);
{
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);
};