71 return SessionImplAPI::current->isRegisteredID (placementID);
88 return SessionImplAPI::current->resolveID (placementID);
99 PlacementMO::ID
const&
102 return SessionImplAPI::current->insertCopy (newPlacement,scope);
114 return SessionImplAPI::current->purgeScopeRecursively (scope);
126 return SessionImplAPI::current->detachElement (leafElement);
137 SessionImplAPI::current->reset_PlacementIndex();
140 ASSERT (0 == testIdx->
size());
149 Symbol typeID (
"dummyRoot");
153 ENSURE (mockIndex->isValid());
154 ENSURE (1 == mockIndex.use_count());
156 SessionImplAPI::current->reset_PlacementIndex (mockIndex.get());
165 return SessionImplAPI::current->getScopeQueryResolver();
173 return SessionImplAPI::current->getScope(placementToLocate);
180 return SessionImplAPI::current->getScope(placementToLocate);
188 return SessionImplAPI::current->getScopeRoot();
Token or Atom with distinct identity.
Interface: a facility for resolving (some kind of) queries A concrete subclass has the ability to cre...
static session::MObjectFactory create
Storage for the (single, static) MObject factory object.
static bool initFlag
temporary fix for init problems
static session::SessManager & current
access point to the current Session
Structured compound of Placement instances with lookup capabilities.
void clear(ID targetScope)
recursively kill a complete scope, including the given element and all children.
virtual bool isUp()=0
diagnostics: session interface opened?
static bool isRegisteredID(PlacementMO::ID const &)
verify the given placement-ID (hash) is valid, by checking if it refers to a Placement instance curre...
static PlacementMO & resolveID(PlacementMO::ID const &)
actually retrieve a Placement tracked by the index.
static bool isAccessible()
is the element-fetch service usable? Effectively this means: is the session up?
static PPIdx install()
Re-define the implicit PlacementIndex temporarily, e.g.
PlacementMO::ID const & PID
static bool detach_and_clear(PID)
detach the denoted element from the model including all children.
static PID attach_toModel(PMO, PID)
attach an object by placement onto the session.
static bool detach(PID)
detach the denoted leaf element from the model.
Core factory to generate media objects for use in the Session model.
void remove_testIndex(PlacementIndex *testIdx)
Namespace of Session and user visible high-level objects.
std::shared_ptr< PlacementIndex > PPIdx
Steam-Layer implementation namespace root.
Implementation facility for session management.
Session and SessionServices Implementation classes.
Implementation level session API: to manage default configured objects.
Implementation level session API: query a scope.
Implementation level session API: resolve a Placement by hash-ID.
Implementation level session API: PlacementIndex mock for tests.
Implementation level session API: add or remove Session contents.
A mechanism for exposing and accessing implementation level services of the session.
static PlacementMO & getScope(PlacementMO const &)
static lumiera::QueryResolver const & getResolver()
static PlacementMO & getScopeRoot()
Marker types to indicate a literal string and a Symbol.