Lumiera
0.pre.03
»edit your freedom«
|
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"
Classes | |
class | BasicHandlingPattern |
Handling Pattern Foundation: invoke command directly and without any external intervention. More... | |
class | InvokeAsync |
Handling Pattern: just schedule command to be invoked asynchronously. 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... | |
Typedefs | |
typedef lib::factory::MultiFact< HandlingPattern &, HandlingPattern::ID > | HandlingPatternFactory |
Functions | |
HandlingPattern const & | getPatternInstance (HandlingPattern::ID id) |
access the singleton instance for a given ID | |
Variables | |
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) |
HandlingPatternFactory | patternTable |
holds singleton pattern instances by ID | |
Namespaces | |
steam | |
Steam-Layer implementation namespace root. | |
steam::control | |
Steam-Layer dispatcher, controller and administrative facilities. | |