Lumiera 0.pre.04~rc.1
»edit your freedom«
Loading...
Searching...
No Matches
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.
 
void clear ()
 
PlacementIndexgetPlacementIndex ()
 
- Protected Member Functions inherited from SessionInterfaceModules
 SessionInterfaceModules ()
 init element-tracking mechanism for timelines and sequences on session creation
 
 ~SessionInterfaceModules ()
 
- Protected Member Functions inherited from NonCopyable
 ~NonCopyable ()=default
 
 NonCopyable ()=default
 
 NonCopyable (NonCopyable const &)=delete
 
NonCopyableoperator= (NonCopyable const &)=delete
 
- Protected Member Functions inherited from Session
 Session (DefaultsAccess, ElementsAccess, TimelineAccess, SequenceAccess) noexcept
 
virtual ~Session ()
 

Private Member Functions

virtual bool isValid () override
 
virtual MObjectRef attach (PMO const &placement) override
 attach a copy within the scope of the current QueryFocus point
 
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.
 
virtual MObjectRef getRoot () override
 
virtual PFixture & getFixture () override
 
virtual void rebuildFixture () override
 

Private Attributes

PlacementIndex contents_
 
PFixture fixture_
 

Additional Inherited Members

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

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

◆ isValid()

bool isValid ( )
overrideprivatevirtual

Implements Session.

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

◆ 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 SessionImpl::contents_, 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.

References PlacementIndex::clear(), PlacementIndex::contains(), SessionImpl::contents_, LERR_, and QueryFocus::shift().

+ Here is the call graph for this function:

◆ getRoot()

MObjectRef getRoot ( )
overrideprivatevirtual

Implements Session.

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

References SessionImpl::contents_, and PlacementIndex::getRoot().

+ Here is the call graph for this function:

◆ getFixture()

PFixture & getFixture ( )
overrideprivatevirtual

Implements Session.

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

References SessionImpl::fixture_.

◆ rebuildFixture()

void rebuildFixture ( )
overrideprivatevirtual

Implements Session.

Definition at line 143 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.

◆ getPlacementIndex()

PlacementIndex & getPlacementIndex ( )
inlineprotected

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

References SessionImpl::contents_, and PlacementIndex::isValid().

+ Here is the call graph for this function:

Member Data Documentation

◆ contents_

◆ fixture_

PFixture fixture_
private

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

Referenced by SessionImpl::getFixture().

Friends And Related Symbol Documentation

◆ SessManagerImpl

friend class SessManagerImpl
friend

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

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

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