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