![]() |
Lumiera 0.pre.04
»edit your freedom«
|
A hard wired collection of predefined command handling patterns. More...
Go to the source code of this file.
A hard wired collection of predefined command handling patterns.
There is a small number of different possibilities to handle execution and UNDO of Steam-Layer commands. Each of these is defined as a subclass in this header and then hard wired into a small table. Handling patterns are stateless singleton objects, thus we build using multiple Singleton factory objects and configure them hard wired with the respective implementation classes. The index positions in this table match the sequence within the enum HandlingPattern::ID; all of this is done hard wired and without any dynamic configuration.
Definition in file handling-patterns.hpp.
#include "lib/error.hpp"#include "lib/multifact.hpp"#include "steam/control/handling-pattern.hpp"#include "steam/control/command-impl.hpp"Namespaces | |
| namespace | steam |
| Steam-Layer implementation namespace root. | |
| namespace | steam::control |
| Steam-Layer dispatcher, controller and administrative facilities. | |
| namespace | steam::control::anonymous_namespace{handling-patterns.hpp} |
Typedefs | |
| typedef lib::factory::MultiFact< HandlingPattern &, HandlingPattern::ID > | HandlingPatternFactory |
Classes | |
| class | BasicHandlingPattern |
| Handling Pattern Foundation: invoke command directly and without any external intervention. More... | |
| class | InvokeSyncNoThrow |
| Handling Pattern: invoke blocking, translate exceptions into an error state. More... | |
| class | InvokeSyncThrow |
| Handling Pattern: invoke blocking, propagating any exceptions immediately. More... | |
| class | InvokeAsync |
| Handling Pattern: just schedule command to be invoked asynchronously. More... | |
Functions | |
| HandlingPattern const & | getPatternInstance (HandlingPattern::ID id) |
| access the singleton instance for a given ID | |