44 #ifndef CONTROL_HANDLING_PATTERN_H 45 #define CONTROL_HANDLING_PATTERN_H 77 void maybeThrow()
const;
78 operator bool()
const {
return isValid(); }
110 static ID defaultID() {
return DUMMY; }
126 explicit operator bool()
const {
return isValid(); }
127 virtual bool isValid()
const =0;
131 virtual void performExec (
CommandImpl& command)
const =0;
132 virtual void performUndo (
CommandImpl& command)
const =0;
145 return this->invoke (command,
id, &HandlingPattern::performExec);
151 return this->invoke (command,
id, &HandlingPattern::performUndo);
ExecResult undo(CommandImpl &command, string) const
likewise invoke the configured UNDO operation
ExecResult exec(CommandImpl &command, string) const
main functionality: invoke a command, detect errors.
ExecResult()
default: command executed successfully
void undo(short param, int memento)
virtual ~HandlingPattern()
this is an interface
Steam-Layer implementation namespace root.
Token or Atom with distinct identity.
Marker types to indicate a literal string and a Symbol.
Result (Status) of command execution.
Lumiera error handling (C++ interface).
Steam-Layer Command implementation.
Interface: Operation Skeleton how to invoke or undo a command.
Interface and Base definition for all Lumiera Exceptions.