72 ERROR (progress,
"Unrecoverable Failure while creating the empty default session. System halted.");
104 INFO (
session,
"Initialising new Session....");
106 session_.swap (tmpS);
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]);
135 INFO (
session,
"Session ready for use.");
142 control::SteamDispatcher::instance().activate();
149 control::SteamDispatcher::instance().deactivate();
156 TODO (
"halt rendering");
157 TODO (
"possibly terminate builder");
167 control::SteamDispatcher::instance().awaitDeactivation();
168 INFO (command,
" Session shutdown. Command processing stopped.");
175 session_->defaults.clear();
176 ConfigResolver::instance().reset();
177 AssetManager::instance().clear();
186 : session_(currentSessionAccessPoint)
205 , lifecycle_{new SessionLifecycleDetails(pSess_)}
272 UNIMPLEMENTED (
"load serialised session");
291 UNIMPLEMENTED (
"save session (serialised)");
Customised refcounting smart pointer template, built upon std::shared_ptr, but forwarding type relati...
scoped guard to control the actual locking.
Generic interface to express a query for specifically typed result elements exposing some capabilitie...
static bool initFlag
temporary fix for init problems
Skeleton of operations conducting the session lifecycle sequences.
virtual SessionImplAPI * operator->() noexcept override
Access to the "current session", which actually is an SessionImpl instance.
unique_ptr< LifecycleAdvisor > lifecycle_
SessManagerImpl()
Starting up the session access and lifecycle management.
virtual void load() override
virtual void close() override
Shut down the current session together with all associated services.
unique_ptr< SessionImplAPI > pSess_
virtual void save(string) override
virtual bool isUp() override
diagnostics: session interface opened?
virtual void reset() override
virtual void clear() override
void deconfigure() override
This final stage of the session lifecycle terminates the operational state of all parts of the curren...
void injectSessionContent() override
void commandLogCheckpoint() override
void openSessionInterface() override
void closeSessionInterface() override
void getSessionReady() override
SessionLifecycleDetails(SessionPImpl ¤tSessionAccessPoint)
void createSessionFacilities() override
void disconnectRenderProcesses() override
Definition of the concrete frontend for rule based configuration within the session.
Management of defaults and default rules.
#define LUMIERA_ERROR_DEFINE(err, msg)
Definition and initialisation of an error constant.
Lumiera error handling (C++ interface).
Implementation facility providing an operation skeleton of session lifecycle.
std::unique_ptr< SessionImplAPI > SessionPImpl
Namespace of Session and user visible high-level objects.
SessionServices< Types< SessionServiceFetch, SessionServiceMutate, SessionServiceExploreScope, SessionServiceMockIndex, SessionServiceDefaults >, SessManagerImpl, SessionImpl > SessionImplAPI
actual configuration of the session implementation compound: forming an inheritance chain of all inte...
Steam-Layer implementation namespace root.
Basic and generic representation of an internal query.
Implementation facility for session management.
Primary Interface to the current Session.
Dispatch and execute mutation operations on the High-level model.
Top level structural element within the session.