#include <handling-pattern.hpp>


Concrete implementations may be retrieved by ID; they range from just invoking the command operations straight forward to dispatching with the ProcDispatcher or running the command asynchronously in a background thread. A HandlingPattern first of all describes how to invoke the command operation, but for each pattern it is possible to get a special "undo pattern", which, on activation, will reverse the effect of the basic pattern.
Definition at line 100 of file handling-pattern.hpp.
Public Types | |
| enum | ID { SYNC, SYNC_THROW, ASYNC, DUMMY, NUM_IDS } |
Public Member Functions | |
| HandlingPattern const & | howtoUNDO () const |
| ExecResult | invoke (CommandImpl &command, Symbol name) const |
| main functionality: invoke a command, detect errors. | |
| virtual bool | isValid () const =0 |
Static Public Member Functions | |
| static ID | defaultID () |
| static HandlingPattern const & | get (ID id) |
| retrieve pre-configured pattern | |
Protected Member Functions | |
| virtual void | exec (CommandImpl &command) const =0 |
| virtual HandlingPattern const & | getUndoPatt () const =0 |
| virtual void | perform (CommandImpl &command) const =0 |
| virtual void | undo (CommandImpl &command) const =0 |
| HandlingPattern const & control::HandlingPattern::get | ( | ID | id | ) | [static] |
retrieve pre-configured pattern
Definition at line 45 of file handling-pattern.cpp.
References control::getPatternInstance().
Referenced by control::Command::execSync(), and control::CommandImpl::isValid().


| HandlingPattern const& control::HandlingPattern::howtoUNDO | ( | ) | const [inline] |
Definition at line 129 of file handling-pattern.hpp.
| ExecResult control::HandlingPattern::invoke | ( | CommandImpl & | command, | |
| Symbol | name | |||
| ) | const |
main functionality: invoke a command, detect errors.
| name | to use in log and error messages |
Definition at line 55 of file handling-pattern.cpp.
References lib::Literal::c(), lumiera_error(), asset::str(), and lumiera::Error::what().
Referenced by control::Command::exec().


1.5.6