33#ifndef CONTROL_HANDLING_PATTERNS_DEF_H
34#define CONTROL_HANDLING_PATTERNS_DEF_H
59 bool isValid()
const override {
return true; }
90 UNIMPLEMENTED (
"actually invoke a command, according to this pattern");
96 UNIMPLEMENTED (
"actually undo the effect of a command, according to this pattern");
102 UNIMPLEMENTED (
"is this pattern currently able to handle commands?");
120 UNIMPLEMENTED (
"actually invoke a command, according to this pattern");
126 UNIMPLEMENTED (
"actually undo the effect of a command, according to this pattern");
132 UNIMPLEMENTED (
"is this pattern currently able to handle commands?");
150 UNIMPLEMENTED (
"actually invoke a command, according to this pattern");
156 UNIMPLEMENTED (
"actually undo the effect of a command, according to this pattern");
162 UNIMPLEMENTED (
"is this pattern currently able to handle commands?");
Convenience shortcut for automatically setting up a production line, to fabricate a singleton instanc...
Factory for creating a family of objects by ID.
bool contains(ID id) const
Steam-Layer Command implementation.
Interface: Operation Skeleton how to invoke or undo a command.
Handling Pattern Foundation: invoke command directly and without any external intervention.
void performExec(CommandImpl &command) const override
void performUndo(CommandImpl &command) const override
bool isValid() const override
Handling Pattern: just schedule command to be invoked asynchronously.
void performExec(CommandImpl &command) const override
void performUndo(CommandImpl &command) const override
bool isValid() const override
Handling Pattern: invoke blocking, translate exceptions into an error state.
void performExec(CommandImpl &command) const override
void performUndo(CommandImpl &command) const override
bool isValid() const override
Handling Pattern: invoke blocking, propagating any exceptions immediately.
void performExec(CommandImpl &command) const override
void performUndo(CommandImpl &command) const override
bool isValid() const override
Top level of the command implementation.
Lumiera error handling (C++ interface).
Pre-defined command execution skeletons.
Framework for building a configurable factory, to generate families of related objects.
HandlingPatternFactory patternTable
holds singleton pattern instances by ID
HandlingPatternFactory::Singleton< InvokeSyncNoThrow > holder1(patternTable, HandlingPattern::SYNC)
HandlingPatternFactory::Singleton< InvokeSyncThrow > holder2(patternTable, HandlingPattern::SYNC_THROW)
HandlingPatternFactory::Singleton< InvokeAsync > holder3(patternTable, HandlingPattern::ASYNC)
HandlingPatternFactory::Singleton< BasicHandlingPattern > holder4(patternTable, HandlingPattern::DUMMY)
HandlingPattern const & getPatternInstance(HandlingPattern::ID id)
access the singleton instance for a given ID
Steam-Layer implementation namespace root.