-#define COMMAND_METHODS(CLASS_NAME) \
-public:\
- CLASS_NAME (char *aname,\
- int can_rep,\
- char *chort_help,\
- char *long_help):\
- cl_cmd(aname, can_rep, short_help, long_help) {}\
- virtual int do_work(class cl_sim *sim,\
- class cl_cmdline *cmdline, class cl_console *con);
-#define COMMAND_METHODS_ANCESTOR(CLASS_NAME,ANCESTOR) \
-public:\
- CLASS_NAME (char *aname,\
- int can_rep,\
- char *chort_help,\
- char *long_help):\
- ANCESTOR (aname, can_rep, short_help, long_help) {}\
- virtual int do_work(class cl_sim *sim,\
- class cl_cmdline *cmdline, class cl_console *con);
-
-#define COMMAND_TAIL \
-}
-
-#define COMMAND(CLASS_NAME) \
-COMMAND_HEAD(CLASS_NAME) \
-COMMAND_METHODS(CLASS_NAME) \
-COMMAND_TAIL
-
-#define COMMAND_DATA(CLASS_NAME,DATA) \
-COMMAND_HEAD(CLASS_NAME) \
-public: DATA ; \
-COMMAND_METHODS(CLASS_NAME)\
-COMMAND_TAIL
-
-#define COMMAND_ANCESTOR(CLASS_NAME,ANCESTOR) \
-COMMAND_HEAD_ANCESTOR(CLASS_NAME,ANCESTOR) \
-COMMAND_METHODS_ANCESTOR(CLASS_NAME,ANCESTOR) \
-COMMAND_TAIL
-
-#define COMMAND_DATA_ANCESTOR(CLASS_NAME,ANCESTOR,DATA) \
-COMMAND_HEAD_ANCESTOR(CLASS_NAME,ANCESTOR) \
-public: DATA ; \
-COMMAND_METHODS_ANCESTOR(CLASS_NAME,ANCESTOR)\
-COMMAND_TAIL
-
-
-// Command set is list of cl_cmd objects
-class cl_cmdset: public cl_list