Lumiera  0.pre.03
»edit your freedom«
lumiera Namespace Reference

Description

Lumiera public interface.

Global interfaces and facilities accessible from plugins and scripts. It's probably a good idea to pull it in explicitly and to avoid nesting implementation namespaces within lumiera::

Namespaces

Typedefs

typedef LifecycleRegistry::Hook Callback
 
using CStr = const char *
 
typedef MultiFact< Resolution *(Goal const &), Goal::QueryID, BuildRefcountPtrDispatcherTable
 factory used as dispatcher table for resolving typed queries
 
typedef AppState::ExitCode ExitCode
 
typedef std::shared_ptr< ResolutionPReso
 Allow to take and transfer ownership of a result set. More...
 
typedef Goal::QueryID const & QID
 
typedef lib::VariantO< steam::WrapperTypes, util::AccessCasted_OWrapperPtr
 helper to treat various sorts of smart-ptrs uniformly. More...
 

Classes

class  AppState
 The Lumiera Application state and basic initialisation. More...
 
class  BasicSetup
 Represents the elementary self-configuration of a running Lumiera application instance. More...
 
class  Config
 C++ wrapper for convenient access to the Lumiera config system. More...
 
class  Display
 Interface for outputting frames to an (already allocated) viewer or display. More...
 
class  DummyPlayer
 Experimental Interface Steam-Layer (or maybe the vault?): Global access point for starting a dummy playback, generating some test image data for the GUI to display in a viewer window. More...
 
class  Error
 Interface and Base definition for all Lumiera Exceptions. More...
 
class  FrameID
 Identification tuple for addressing frames unambiguously. More...
 
class  Goal
 Query ABC: unspecific goal for resolution or retrieval. More...
 
class  InstanceHandle
 Handle tracking the registration of an interface, deregistering it on deletion. More...
 
class  LifecycleHook
 define and register a callback for a specific lifecycle event. More...
 
class  LifecycleRegistry
 Registry of callback functions accessible by a label (ID) provided at registration. More...
 
struct  NodeID
 Identification tuple for denoting render nodes unambiguously. More...
 
class  Option
 Frontend for handling the Lumiera application commandline arguments. More...
 
class  Play
 Interface to the Player subsystem of Lumiera (Steam-Layer). More...
 
class  Query
 Generic interface to express a query for specifically typed result elements exposing some capabilities or fulfilling some properties. More...
 
class  QueryDispatcher
 PImpl of the generic QueryResolver. More...
 
class  QueryKey
 Wrapper for indexing and ordering. More...
 
class  QueryResolver
 Interface: a facility for resolving (some kind of) queries A concrete subclass has the ability to create Resolution instances in response to specific queries of some kind, if applicable. More...
 
class  Resolution
 ABC representing the result set of an individual query resolution. More...
 
class  Subsys
 Dependencies and lifecycle of a partially independent Subsystem of the Application. More...
 
class  SubsystemRunner
 Implementation helper for managing execution of a collection of subsystems, which may depend on one another and execute in parallel. More...
 

Functions

void initialise_NoBug ()
 
template<class EX >
void maybeThrow (string description="")
 Check the lumiera error state and throw a specific exception in case a non-cleared errorflag is detected. More...
 
const char * ON_BASIC_INIT ("ON_BASIC_INIT")
 
const char * ON_EMERGENCY ("ON_EMERGENCY")
 
const char * ON_GLOBAL_INIT ("ON_GLOBAL_INIT")
 
const char * ON_GLOBAL_SHUTDOWN ("ON_GLOBAL_SHUTDOWN")
 
bool operator!= (Goal::QueryID const &id1, Goal::QueryID const &id2)
 
bool operator< (Goal::QueryID const &id1, Goal::QueryID const &id2)
 
ostream & operator<< (ostream &os, const Option &to)
 for outputting the help messages. More...
 
bool operator== (Goal::QueryID const &id1, Goal::QueryID const &id2)
 
void throwOnError ()
 Check the lumiera error state, which maybe was set by C-code. More...
 

Variables

const char * ON_BASIC_INIT
 automatic static init. treated specially to run as soon as possible
 
const char * ON_EMERGENCY
 activated on shutdown after premature failure of a subsystem
 
const char * ON_GLOBAL_INIT
 to be triggered in main() More...
 
const char * ON_GLOBAL_SHUTDOWN
 to be triggered at the end of main() More...
 

Typedef Documentation

◆ PReso

Allow to take and transfer ownership of a result set.

Allow to take ownership of a result set.

Definition at line 47 of file query-resolver.hpp.

◆ WrapperPtr

helper to treat various sorts of smart-ptrs uniformly.

Implemented as a variant-type value object, it is preconfigured with the possible hierarchy-base classes used within this application. Thus, when passing in an arbitrary smart-ptr, the best fitting smart-ptr type pointing to the corresponding base class is selected for internal storage. Later on, stored values can be retrieved either utilising static or dynamic casts; error reporting is similar to the behaviour of dynamic_cast<T>: when retrieving a pointer, NULL is returned in case of mismatch.

Deprecated:
not sure if this was a good idea anyway. Better re-think how to handle wrapped objects in visitation
Todo:
really need to switch to the new lib::Variant and util::AccessCasted implementation ////////////////TICKET #450

Definition at line 62 of file wrapperptr.hpp.

Function Documentation

◆ operator<<()

ostream & operator<< ( ostream &  os,
const Option to 
)

for outputting the help messages.

Forward accumulated help messages from all contained option definitions

Definition at line 151 of file option.cpp.

◆ throwOnError()

void lumiera::throwOnError ( )
inline

Check the lumiera error state, which maybe was set by C-code.

Exceptions
Errorflagexception to signal an detected lumiera error
Note
specific error code and information is enclosed in the raised exception; the error state is not cleared.

Definition at line 233 of file error.hpp.

References lumiera_error().

Referenced by CommandUse2_test::check_DispatcherInvocation().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ maybeThrow()

void lumiera::maybeThrow ( string  description = "")
inline

Check the lumiera error state and throw a specific exception in case a non-cleared errorflag is detected.

No-op else.

Exceptions
instanceof the lumiera::Error subclass provided as template parameter, containing an lumiera::error::Flag as root cause to denote the detected error-flag state.

Definition at line 249 of file error.hpp.

References lumiera_error().

Referenced by Result< void >::Result(), and Result< TAR &>::Result().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ ON_GLOBAL_INIT

const char* ON_GLOBAL_INIT

to be triggered in main()

Note
no magic!

Referenced by main(), and LifecycleHook::trigger().

◆ ON_GLOBAL_SHUTDOWN

const char* ON_GLOBAL_SHUTDOWN

to be triggered at the end of main()

Note
no magic!

Referenced by main(), AppState::maybeWait(), and LifecycleHook::trigger().