Lumiera 0.pre.04~rc.1
»edit your freedom«
Loading...
Searching...
No Matches
session-impl.hpp File Reference

Session and SessionServices Implementation classes. More...

Go to the source code of this file.

Description

Session and SessionServices Implementation classes.

Session and the corresponding Manager are primary Interfaces to control the behaviour of the editing part of the application. All all implementation complexities are hidden behind a "PImpl".

This file contains the implementation level API, it should never be included by client code. Besides the actual SessionImpl, a set of further implementation level services is provided for use by Steam-Layer's internals. These additional SessionServices are to be accessed through dedicated headers and interface classes (typically through static access functions), thereby abstracting from the actual session implementation. Within this file, the implementation of these SessionServices is wired up with the SessionImpl object.

See also
Session public API
session-services.hpp
session-service-access-test.cpp for a complete simplified mock Session manager

Definition in file session-impl.hpp.

Namespaces

namespace  steam
 Steam-Layer implementation namespace root.
 
namespace  steam::mobject
 Media-Objects, edit operations and high-level session.
 
namespace  steam::mobject::session
 Namespace of Session and user visible high-level objects.
 

Typedefs

using SessionImplAPI = SessionServices< Types< SessionServiceFetch, SessionServiceMutate, SessionServiceExploreScope, SessionServiceMockIndex, SessionServiceDefaults >, SessManagerImpl, SessionImpl >
 actual configuration of the session implementation compound: forming an inheritance chain of all internal SesssionServices stacked on top of the SessionImpl class.
 

Classes

class  SessionImpl
 Implementation class for the Session interface. More...
 
struct  ServiceAccessPoint< SessionServiceFetch, IMPL >
 
struct  ServiceAccessPoint< SessionServiceMutate, IMPL >
 
struct  ServiceAccessPoint< SessionServiceExploreScope, IMPL >
 
struct  ServiceAccessPoint< SessionServiceExploreScope, IMPL >::AccessCurrentIndex
 indirection to use the currently defined index access point (might be a test mock) More...
 
struct  ServiceAccessPoint< SessionServiceMockIndex, IMPL >
 
struct  ServiceAccessPoint< SessionServiceDefaults, IMPL >