47 , contents_(
MObject::create (defaultsManager_))
48 , fixture_(new fixture::Fixture)
50 INFO (
session,
"new Session created.");
67 throw error::Fatal (
"unexpected exception while clearing the session");
73 SessionImpl::isValid ()
92 contents_.
insert (placement, attachmentPoint));
93 return newAttachedInstance;
109 bool is_known = contents_.contains (placement);
112 if (
Scope(placement).isRoot())
114 , LERR_(INVALID_SCOPE));
117 currentFocus.
shift (
Scope(placement).getParent());
118 contents_.
clear (placement);
120 ENSURE (!contents_.contains (placement));
126 SessionImpl::getRoot()
136 SessionImpl::getFixture ()
143 SessionImpl::rebuildFixture ()
145 UNIMPLEMENTED (
"rebuild Fixture");
Representation of the current scope when navigating the session model.
An active (smart-ptr like) external reference to a specifically placed MObject "instance" within the ...
Core abstraction: placement of a media object into session context.
Core abstraction of the Session model: a media object.
PlacementMO & getRoot() const
retrieve the logical root scope
Steam-Layer implementation namespace root.
QueryFocus & shift(Scope const &)
shift this QueryFocus to a container-like scope, causing it to navigate, changing the current ScopePa...
Namespace of Session and user visible high-level objects.
A Placement scope within the high-level-model.
MObject is the interface class for all "Media Objects".
Derived specific exceptions within Lumiera's exception hierarchy.
The (current) Session holds all the user visible content to be edited and manipulated within the Lumi...
Collection of implementation components, providing self-contained sub-elements exposed on the public ...
SessionImpl()
create a new empty session with default values.
ID insert(PlacementMO const &newObj, ID targetScope)
Add a new Placement (Object "instance") into the index.
void clear(ID targetScope)
recursively kill a complete scope, including the given element and all children.
Lumiera error handling (C++ interface).
Core factory to generate media objects for use in the Session model.
Session and SessionServices Implementation classes.
MORef & activate(Placement< MO > const &placement)
activate an MObject reference, based on an existing placement, which needs to be contained (added to)...
virtual MObjectRef attach(PMO const &placement) override
attach a copy within the scope of the current QueryFocus point
RefPlacement currentPoint() const
virtual bool detach(PMO const &placement) override
detach the denoted object (placement) from model, together with any child objects contained in the sc...
Current focus location to use as point-of reference for contents and location discovery queries...