Lumiera  0.pre.03
»edityourfreedom«
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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
 
typedef const char *const CCStr
 
typedef const char * CStr
 
typedef MultiFact< Resolution
*(Goal const &), Goal::QueryID,
BuildRefcountPtr
DispatcherTable
 factory used as dispatcher table for resolving typed queries More...
 
typedef AppState::ExitCode ExitCode
 
typedef std::shared_ptr
< Resolution
PReso
 Allow to take and transfer ownership of a result set. More...
 
typedef Goal::QueryID const & QID
 
typedef lib::VariantO
< proc::WrapperTypes,
util::AccessCasted_O
WrapperPtr
 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 class of all Exceptions thrown from within Lumiera (C++) code. 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](QueryResolver::canHandle). 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...
 
template<class EX >
void maybeThrow ()
 
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

Definition at line 164 of file appstate.cpp.

typedef Goal::QueryID const& QID

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

factory used as dispatcher table for resolving typed queries

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

Allow to take and transfer ownership of a result set.

Allow to take ownership of a result set.

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

typedef const char* CStr

Definition at line 49 of file error-exception.cpp.

typedef const char* const CCStr

Definition at line 50 of file error-exception.cpp.

Definition at line 56 of file lifecycle.cpp.

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

void initialise_Threadpool ( )

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

References lumiera_threadpool_init().

+ Here is the call graph for this function:

void shutdown_Threadpool ( )

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

References lumiera_threadpool_destroy().

+ Here is the call graph for this function:

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.

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.

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.

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

Definition at line 212 of file query.hpp.

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

error-ID for unspecified exceptions

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 200 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:

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

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

+ Here is the call graph for this function:

void lumiera::maybeThrow ( )
inline

Definition at line 227 of file error.hpp.

const char* lumiera::ON_BASIC_INIT ( "ON_BASIC_INIT"  )
const char* lumiera::ON_GLOBAL_INIT ( "ON_GLOBAL_INIT"  )
const char* lumiera::ON_GLOBAL_SHUTDOWN ( "ON_GLOBAL_SHUTDOWN"  )
const char* lumiera::ON_EMERGENCY ( "ON_EMERGENCY"  )
void initialise_NoBug ( )

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

Variable Documentation

const char* ON_BASIC_INIT

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

Referenced by LifecycleHook::add(), and LifecycleRegistry::LifecycleRegistry().

const char* ON_GLOBAL_INIT

to be triggered in main()

Note
no magic!

Referenced by AppState::init(), CommandSetup::invokeDefinitionClosures(), and main().

const char* ON_GLOBAL_SHUTDOWN

to be triggered at the end of main()

Note
no magic!

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

const char* ON_EMERGENCY

activated on shutdown after premature failure of a subsystem

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