35 #ifndef CONTROL_HANDLING_PATTERN_H 36 #define CONTROL_HANDLING_PATTERN_H 68 void maybeThrow()
const;
69 operator bool()
const {
return isValid(); }
101 static ID defaultID() {
return DUMMY; }
117 explicit operator bool()
const {
return isValid(); }
118 virtual bool isValid()
const =0;
122 virtual void performExec (
CommandImpl& command)
const =0;
123 virtual void performUndo (
CommandImpl& command)
const =0;
136 return this->invoke (command,
id, &HandlingPattern::performExec);
142 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.