diff --git a/src/text_simulation.hh b/src/text_simulation.hh index 76b394f..0035751 100644 --- a/src/text_simulation.hh +++ b/src/text_simulation.hh @@ -40,15 +40,81 @@ namespace sgpem class TextSimulation; /** - + \brief Concrete \ref Simulation subclass with a text-based user interface. + + A command-based interface is used, so methods of the base class can be called with + a proper command string obtained from the input device(s). + Any object returned after the call to Simulation will be returned to the output + devices(s) in a human-readable format. */ class SG_DLLEXPORT TextSimulation : public Simulation, public sigc::trackable { public: ~TextSimulation(); + /** + \brief Executes a command read from an input device. + A list of supported commands follows: + + \li help \ \br + If \ is a valid command, usage instructions are printed + for the command. + + \li run \br + Calls run() + + \li pause \br + Calls pause() + + \li stop \br + Calls stop() + + \li setmode \ \br + Calls set_mode() + + \li getmode \br + Calls get_mode() + + \li settimer \ \br + Calls set_timer() + + \li gettimer \br + Calls get_timer() + + \li reset \br + Calls reset() + + \li jumpto \ \br + Calls jump_to() + + \li setpolicy \ \br + Calls set_policy() + + \li getpolicy \br + Calls get_policy(), and prints the name and a description of + the returned policy + + \li getpolicies \br + Calls get_avaiable_policies(), and prints a list of policy + descriptions in the same way as getpolicy does + + \li setpolicyattributes \ = \; \ = \; \br + Changes the value of the policy's attributes + + \li getpolicyattributes + Prints the name and the value of the policy's attributes + */ static void parse_command(std::pair< std::pair, const Glib::ustring >); + + /** + Adds an available I/O device. + */ void add_io_device(memory::smart_ptr); + + /** + Prints the actual state of the simulation, with emphasis on the current + status of the scheduling process (ready queue and running process). + */ void update(); private: