Lumiera 0.pre.04~rc.1
»edit your freedom«
Loading...
Searching...
No Matches
main.cpp
Go to the documentation of this file.
1/*
2 main.cpp - start the Lumiera Application
3
4 Copyright (C)
5 2007, Joel Holdsworth <joel@airwebreathe.org.uk>
6 2007, Christian Thaeter <ct@pipapo.org>
7 2008, Hermann Vosseler <Ichthyostega@web.de>
8
9  **Lumiera** is free software; you can redistribute it and/or modify it
10  under the terms of the GNU General Public License as published by the
11  Free Software Foundation; either version 2 of the License, or (at your
12  option) any later version. See the file COPYING for further details.
13
14* *****************************************************************/
15
21#include "include/logging.h"
22#include "lib/error.hpp"
23#include "common/appstate.hpp"
24#include "common/option.hpp"
25
29#include "steam/facade.hpp"
30#include "stage/guifacade.hpp"
31
32using lib::Cmdline;
33using lumiera::Subsys;
35
44
45
46
47int
48main (int argc, const char* argv[])
49{
50 NOTICE (main, "*** Lumiera NLE for Linux ***");
51
52 AppState& application = AppState::instance();
53 try
54 {
55 Cmdline args (argc,argv);
56 lumiera::Option options (args);
57 application.init (options);
58
61// playOut.depends (engine); ///////////////////////////////////////TICKET #1149 actually start an »Engine subsystem«
64// lumigui.depends (engine);
67
68 application.maybeStart (playOut);
69 application.maybeStart (netNode);
70 application.maybeStart (lumigui);
71 application.maybeStart (script);
72
73 return application.maybeWait();
74 }
75
76
77 catch (lumiera::Error& problem)
78 {
79 return application.abort (problem);
80 }
81 catch (...)
82 {
83 return application.abort();
84 }
85}
Registering and managing primary application-global services.
Abstraction of the usual int argc, int** argv-Commandline, to be able to treat it as a vector of stri...
Definition cmdline.hpp:49
The Lumiera Application state and basic initialisation.
Definition appstate.hpp:63
void init(lumiera::Option &options)
evaluate the result of option parsing and maybe additional configuration such as to be able to determ...
Definition appstate.cpp:102
ExitCode maybeWait()
put the main thread of the application into a wait state, as long as some subsystem(s) registered wit...
Definition appstate.cpp:152
static lib::Depend< AppState > instance
get the (single) AppState instance.
Definition appstate.hpp:74
ExitCode abort(lumiera::Error &problem)
initiate the controlled error shutdown sequence
Definition appstate.cpp:178
void maybeStart(lumiera::Subsys &)
building on the state determined by init, decide if the given Subsys needs to be pulled up and,...
Definition appstate.cpp:127
Interface and Base definition for all Lumiera Exceptions.
Definition error.hpp:65
Frontend for handling the Lumiera application commandline arguments.
Definition option.hpp:70
Dependencies and lifecycle of a partially independent Subsystem of the Application.
Definition subsys.hpp:63
Subsys & depends(Subsys &prereq)
define a dependency to another Subsys required for running this subsystem
Definition subsys.cpp:41
static lumiera::Subsys & getDescriptor()
provide a descriptor for lumiera::AppState, wired accordingly to allow main to load,...
Global control interface for the render engine subsystem.
Lumiera error handling (C++ interface).
Interface for the GUI loader and for accessing the GUI interface from the lower layers of Lumiera.
This header is for including and configuring NoBug.
int main()
Definition main.c:37
Namespace of Session and user visible high-level objects.
Definition sequence.hpp:65
Global control interface for running Lumiera as a renderfarm node.
front-end for handling the commandline arguments.
Global control interface for script driven operation of Lumiera.
Top level entrance point and facade for the Steam-Layer.
static lumiera::Subsys & getPlayOutDescriptor()
provide a descriptor for lumiera::AppState, wired accordingly to allow main() to bring up the render ...
Definition facade.cpp:151
static lumiera::Subsys & getSessionDescriptor()
provide a descriptor for lumiera::AppState, wired accordingly to allow main() to boot the support inf...
Definition facade.cpp:143
static lumiera::Subsys & getDescriptor()
provide a descriptor for lumiera::AppState, wired accordingly to allow main to pull up and shut down ...
static lumiera::Subsys & getDescriptor()
provide a descriptor for lumiera::AppState, wired accordingly to allow main to start and stop a node ...
static lumiera::Subsys & getDescriptor()
provide a descriptor for lumiera::AppState, wired accordingly to allow main to start a script and to ...