Lumiera  0.pre.03
»edityourfreedom«
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

 advice
 
 error
 
 facade
 
 query
 
 test
 
 visitor_concept_draft
 

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 More...
 
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< proc::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 Proc-Layer (or maybe the backend?): 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  observable_list
 An observable_list is an STL list with an inbuilt sigc++ signal that allows observers to be notified when changes are made to the list. More...
 
class  Option
 Frontend for handling the Lumiera application commandline arguments. More...
 
class  Play
 Interface to the Player subsystem of Lumiera (Proc-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 ()
 
void initialise_Threadpool ()
 
 LUMIERA_ERROR_DECLARE (EXCEPTION)
 error-ID for unspecified exceptions More...
 
 LUMIERA_ERROR_DEFINE (EXCEPTION, "generic Lumiera exception")
 
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 shutdown_Threadpool ()
 
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 More...
 
const char * ON_EMERGENCY
 activated on shutdown after premature failure of a subsystem More...
 
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

◆ ExitCode

Definition at line 146 of file appstate.cpp.

◆ QID

typedef Goal::QueryID const& QID

Definition at line 53 of file query-resolver.cpp.

◆ DispatcherTable

factory used as dispatcher table for resolving typed queries

Definition at line 71 of file query-resolver.cpp.

◆ PReso

Allow to take and transfer ownership of a result set.

Allow to take ownership of a result set.

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

◆ CStr

using CStr = const char*

Definition at line 55 of file error.hpp.

◆ Callback

Definition at line 61 of file lifecycle.cpp.

◆ 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.

Todo:
really need to switch to the new lib::Variant and util::AccessCasted implementation ////////////////TICKET #450

Definition at line 71 of file wrapperptr.hpp.

Function Documentation

◆ initialise_Threadpool()

void initialise_Threadpool ( )

Definition at line 36 of file threadpool-init.cpp.

References lumiera_threadpool_init().

+ Here is the call graph for this function:

◆ shutdown_Threadpool()

void shutdown_Threadpool ( )

Definition at line 49 of file threadpool-init.cpp.

References lumiera_threadpool_destroy().

+ Here is the call graph for this function:

◆ 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 161 of file option.cpp.

References Option::syntax.

◆ operator<()

bool lumiera::operator< ( Goal::QueryID const &  id1,
Goal::QueryID const &  id2 
)
inline

Definition at line 198 of file query.hpp.

References Goal::QueryID::kind, and Goal::QueryID::type.

◆ operator==()

bool lumiera::operator== ( Goal::QueryID const &  id1,
Goal::QueryID const &  id2 
)
inline

Definition at line 205 of file query.hpp.

References Goal::QueryID::kind, and Goal::QueryID::type.

◆ operator!=()

bool lumiera::operator!= ( Goal::QueryID const &  id1,
Goal::QueryID const &  id2 
)
inline

Definition at line 212 of file query.hpp.

References lib::hash::combine(), hash, Goal::QueryID::kind, and Goal::QueryID::type.

+ Here is the call graph for this function:

◆ LUMIERA_ERROR_DEFINE()

lumiera::LUMIERA_ERROR_DEFINE ( EXCEPTION  ,
"generic Lumiera exception"   
)

◆ LUMIERA_ERROR_DECLARE()

lumiera::LUMIERA_ERROR_DECLARE ( EXCEPTION  )

error-ID for unspecified exceptions

Referenced by Error::prependInfo().

+ Here is the caller graph for this function:

◆ 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 239 of file error.hpp.

References lumiera::error::detailInfo(), and lumiera_error().

Referenced by CommandUse2_test::check_DispatcherInvocation(), ExceptionError_test::detectErrorflag(), SessionCommandFunction_test::run(), Thread::sync(), and Condition< MTX >::wait().

+ 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 255 of file error.hpp.

References lumiera::error::detailInfo(), and lumiera_error().

Referenced by Maybe< VAL >::get().

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

◆ ON_BASIC_INIT()

const char* lumiera::ON_BASIC_INIT ( "ON_BASIC_INIT"  )

◆ ON_GLOBAL_INIT()

const char* lumiera::ON_GLOBAL_INIT ( "ON_GLOBAL_INIT"  )

◆ ON_GLOBAL_SHUTDOWN()

const char* lumiera::ON_GLOBAL_SHUTDOWN ( "ON_GLOBAL_SHUTDOWN"  )

◆ ON_EMERGENCY()

const char* lumiera::ON_EMERGENCY ( "ON_EMERGENCY"  )

◆ initialise_NoBug()

void initialise_NoBug ( )

Definition at line 41 of file nobug-init.cpp.

Variable Documentation

◆ ON_BASIC_INIT

const char* ON_BASIC_INIT

automatic static init. treated specially to run as soon as possible

Referenced by LifecycleHook::add(), Error::extractCauseMsg(), LifecycleRegistry::LifecycleRegistry(), and LifecycleHook::trigger().

◆ ON_GLOBAL_INIT

const char* ON_GLOBAL_INIT

◆ ON_GLOBAL_SHUTDOWN

const char* ON_GLOBAL_SHUTDOWN

to be triggered at the end of main()

Note
no magic!

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

◆ ON_EMERGENCY

const char* ON_EMERGENCY

activated on shutdown after premature failure of a subsystem

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