Lumiera  0.pre.03
»edit your freedom«
session-impl.hpp File Reference

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.

Classes

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

Typedefs

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

Namespaces

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