81 ERROR (progress,
"Unrecoverable Failure while creating the empty default session. System halted.");
97 using SessionPImpl = std::unique_ptr<SessionImplAPI>;
102 SessionPImpl & session_;
113 INFO (
session,
"Initialising new Session....");
115 session_.swap (tmpS);
120 injectSessionContent()
override 124 UNIMPLEMENTED (
"loading session from persistent storage");
128 REQUIRE (0 == session_->timelines.size(),
"injecting default timeline, but session isn't pristine");
134 ENSURE (1 == session_->timelines.size());
135 ENSURE (initialTimeline == session_->timelines[0]);
141 getSessionReady()
override 144 INFO (
session,
"Session ready for use.");
149 openSessionInterface()
override 156 closeSessionInterface()
override 163 disconnectRenderProcesses()
override 165 TODO (
"halt rendering");
166 TODO (
"possibly terminate builder");
177 INFO (command,
" Session shutdown. Command processing stopped.");
184 session_->defaults.clear();
186 AssetManager::instance().clear();
195 : session_(currentSessionAccessPoint)
214 , lifecycle_{
new SessionLifecycleDetails(pSess_)}
220 SessManagerImpl::~SessManagerImpl ()
256 lifecycle_->shutDown();
271 lifecycle_->shutDown();
272 lifecycle_->pullUp();
281 UNIMPLEMENTED (
"load serialised session");
284 lifecycle_->shutDown();
285 lifecycle_->pullUp();
300 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.