Lumiera  0.pre.03
»edit your freedom«
SessionImpl Class Reference

#include "steam/mobject/session/session-impl.hpp"

Description

Implementation class for the Session interface.

Definition at line 67 of file session-impl.hpp.

Friends

class SessManagerImpl
 

Protected Member Functions

 SessionImpl ()
 create a new empty session with default values. More...
 
void clear ()
 
PlacementIndexgetPlacementIndex ()
 
- Protected Member Functions inherited from SessionInterfaceModules
 SessionInterfaceModules ()
 init element-tracking mechanism for timelines and sequences on session creation
 
- Protected Member Functions inherited from NonCopyable
 NonCopyable (NonCopyable const &)=delete
 
NonCopyableoperator= (NonCopyable const &)=delete
 
- Protected Member Functions inherited from Session
 Session (DefaultsAccess, ElementsAccess, TimelineAccess, SequenceAccess) noexcept
 

Private Member Functions

virtual MObjectRef attach (PMO const &placement) override
 attach a copy within the scope of the current QueryFocus point More...
 
virtual bool detach (PMO const &placement) override
 detach the denoted object (placement) from model, together with any child objects contained in the scope of this placement. More...
 
virtual PFixture & getFixture () override
 
virtual MObjectRef getRoot () override
 
virtual bool isValid () override
 
virtual void rebuildFixture () override
 

Private Attributes

PlacementIndex contents_
 
PFixture fixture_
 

Additional Inherited Members

- Static Public Attributes inherited from Session
static session::SessManagercurrent = theSessionManager()
 access point to the current Session More...
 
static bool initFlag = false
 temporary fix for init problems More...
 
- Public Attributes inherited from Session
DefaultsAccess defaults
 manages default configured objects
 
ElementsAccess elements
 
SequenceAccess sequences
 collection of sequences
 
TimelineAccess timelines
 collection of timelines (top level)
 
- Protected Types inherited from Session
typedef lumiera::query::DefsManagerDefaultsAccess
 
typedef session::ElementQueryElementsAccess
 
typedef lib::RefArray< asset::PSequence > & SequenceAccess
 
typedef lib::RefArray< asset::PTimeline > & TimelineAccess
 
- Protected Attributes inherited from SessionInterfaceModules
lumiera::query::DefsManager defaultsManager_
 
mobject::session::ElementQuery elementQueryAPI_
 
SequenceTracker sequenceRegistry_
 
TimelineTracker timelineRegistry_
 
- Protected Attributes inherited from Session
DefaultsAccess defaults
 manages default configured objects
 
ElementsAccess elements
 
SequenceAccess sequences
 collection of sequences
 
TimelineAccess timelines
 collection of timelines (top level)
 
- Static Protected Attributes inherited from Session
static session::SessManagercurrent = theSessionManager()
 access point to the current Session More...
 
static bool initFlag = false
 temporary fix for init problems More...
 

Constructor & Destructor Documentation

◆ SessionImpl()

SessionImpl ( )
protected

create a new empty session with default values.

Note
any exception arising while creating this default session will inevitably halt the system (and this is desirable)

Definition at line 41 of file session-impl.cpp.

Member Function Documentation

◆ attach()

MObjectRef attach ( PMO const &  placement)
overrideprivatevirtual

attach a copy within the scope of the current QueryFocus point

Returns
reference to the newly created instance (placement) which was attached below the position given by current focus

Implements Session.

Definition at line 87 of file session-impl.cpp.

References MORef< MO >::activate(), QueryFocus::currentPoint(), and PlacementIndex::insert().

+ Here is the call graph for this function:

◆ detach()

bool detach ( PMO const &  placement)
overrideprivatevirtual

detach the denoted object (placement) from model, together with any child objects contained in the scope of this placement.

Note
as a sideeffect, the current QueryFocus is moved to the scope containing the object to be removed
Exceptions
error::Invalidwhen attempting to kill root
Returns
true if actually removing something

Implements Session.

Definition at line 107 of file session-impl.cpp.

◆ clear()

void clear ( )
protected

used by SessionManager::clear discard all Session content, without touching global configuration.

Definition at line 59 of file session-impl.cpp.

+ Inheritance diagram for SessionImpl:
+ Collaboration diagram for SessionImpl:

The documentation for this class was generated from the following files: