48 #ifndef CONTROL_COMMAND_INSTANCE_MANAGER_H 49 #define CONTROL_COMMAND_INSTANCE_MANAGER_H 58 #include <unordered_map> 94 std::unordered_map<Symbol,Command> table_;
105 bool contains (
Symbol instanceID)
const;
Symbol newInstance(Symbol prototypeID, string const &invocationID)
Create and thus "open" a new anonymous command instance.
Interface to abstract the SteamDispatcher's ability to handle command messages.
Any copy and copy construction prohibited.
Maintain a current command instance for parametrisation.
Steam-Layer implementation namespace root.
Command getInstance(Symbol instanceID)
access the currently "opened" instance with the given instanceID
Token or Atom with distinct identity.
Mix-Ins to allow or prohibit various degrees of copying and cloning.
Marker types to indicate a literal string and a Symbol.
Interface of a service to perform Commands on the session.
Command getCloneOrInstance(Symbol, bool)
Generic building block for tree shaped (meta)data structures.
Steam-Layer command frontend.
Lumiera error handling (C++ interface).
Handle object representing a single Command instance to be used by client code.
void handOver(Command &&)
void bindAndDispatch(Symbol instanceID, Rec const &argSeq)
fire and forget anonymous command instance.
void dispatch(Symbol instanceID)
hand over the designated command instance to the dispatcher installed on construction.
object-like record of data.
CommandInstanceManager(CommandDispatch &)
create a CommandInstanceManager and wire it with the given CommandDispatch implementation.