72 ERROR (progress,
"Unrecoverable Failure while creating the empty default session. System halted.");
88 using SessionPImpl = std::unique_ptr<SessionImplAPI>;
93 SessionPImpl & session_;
104 INFO (
session,
"Initialising new Session....");
106 session_.swap (tmpS);
111 injectSessionContent()
override 115 UNIMPLEMENTED (
"loading session from persistent storage");
119 REQUIRE (0 == session_->timelines.size(),
"injecting default timeline, but session isn't pristine");
125 ENSURE (1 == session_->timelines.size());
126 ENSURE (initialTimeline == session_->timelines[0]);
132 getSessionReady()
override 135 INFO (
session,
"Session ready for use.");
140 openSessionInterface()
override 147 closeSessionInterface()
override 154 disconnectRenderProcesses()
override 156 TODO (
"halt rendering");
157 TODO (
"possibly terminate builder");
168 INFO (command,
" Session shutdown. Command processing stopped.");
175 session_->defaults.clear();
177 AssetManager::instance().clear();
186 : session_(currentSessionAccessPoint)
205 , lifecycle_{
new SessionLifecycleDetails(pSess_)}
211 SessManagerImpl::~SessManagerImpl ()
247 lifecycle_->shutDown();
262 lifecycle_->shutDown();
263 lifecycle_->pullUp();
272 UNIMPLEMENTED (
"load serialised session");
275 lifecycle_->shutDown();
276 lifecycle_->pullUp();
291 UNIMPLEMENTED (
"save session (serialised)");
static lib::Depend< SteamDispatcher > instance
storage for Singleton access
Collection of configured implementation-level services to provide by the Session. ...
void deconfigure() override
This final stage of the session lifecycle terminates the operational state of all parts of the curren...
Basic and generic representation of an internal query.
virtual void reset() override
void commandLogCheckpoint() override
Dispatch and execute mutation operations on the High-level model.
virtual void clear() override
scoped guard to control the actual locking.
Steam-Layer implementation namespace root.
Definition of the concrete frontend for rule based configuration within the session.
Namespace of Session and user visible high-level objects.
virtual void load() override
Management of defaults and default rules.
Skeleton of operations conducting the session lifecycle sequences.
static lib::Depend< ConfigResolver > instance
Singleton factory instance, configured with the actual implementation type.
Implementation facility for session management.
SessManagerImpl()
Starting up the session access and lifecycle management.
Implementation facility providing an operation skeleton of session lifecycle.
SessionServices< Types< SessionServiceFetch, SessionServiceMutate, SessionServiceExploreScope, SessionServiceMockIndex, SessionServiceDefaults >, SessManagerImpl, SessionImpl > SessionImplAPI
actual configuration of the session implementation compound: forming an inheritance chain of all inte...
void createSessionFacilities() override
virtual SessionImplAPI * operator->() noexcept override
Access to the "current session", which actually is an SessionImpl instance.
Lumiera error handling (C++ interface).
virtual void save(string) override
Customised refcounting smart pointer template, built upon std::shared_ptr, but forwarding type relati...
static bool initFlag
temporary fix for init problems
Primary Interface to the current Session.
virtual bool isUp() override
diagnostics: session interface opened?
virtual void close() override
Shut down the current session together with all associated services.
Generic interface to express a query for specifically typed result elements exposing some capabilitie...
Top level structural element within the session.
#define LUMIERA_ERROR_DEFINE(err, msg)
Definition and initialisation of an error constant.