Lumiera  0.pre.03
»edit your freedom«
lifecycle-advisor.hpp File Reference

Go to the source code of this file.

Description

Implementation facility providing an operation skeleton of session lifecycle.

This header is intended to be included into the session manager implementation; it should not be used by client code otherwise. The purpose of the LifecycleAdvisor is to get a consolidated view on the whole lifecycle. Reading this source file should convey a complete picture about what is going on with respect to the session lifecycle. Besides that, no actual implementation code is to be found here; any implementation is delegated to the relevant session facilities.

The idea of a LifecycleAdvisor is inspired by GUI frameworks, especially Spring RichClient. Typically, such frameworks provide a means for flexible configuration of the application lifecycle. Configurability isn't the primary goal here, as there is only one Lumiera application and the session lifecycle can be considered fixed, with the exception of some extension points, which are implemented as "lifecycle events".

See also
SessManager
LifecycleHook
lumiera::AppState
session.hpp
sess-manager-impl.cpp concrete definition of Lifecycle

Definition in file lifecycle-advisor.hpp.

#include "lib/error.hpp"
#include "lib/nocopy.hpp"
#include "include/lifecycle.h"
#include "steam/mobject/session.hpp"
#include "lib/symbol.hpp"

Classes

class  LifecycleAdvisor
 Skeleton of operations conducting the session lifecycle sequences. 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.