Lumiera 0.pre.04~rc.1
»edit your freedom«
Loading...
Searching...
No Matches
enginefacade.cpp
Go to the documentation of this file.
1/*
2 EngineFacade - access point for communicating with the render engine
3
4 Copyright (C)
5 2008, Hermann Vosseler <Ichthyostega@web.de>
6
7  **Lumiera** is free software; you can redistribute it and/or modify it
8  under the terms of the GNU General Public License as published by the
9  Free Software Foundation; either version 2 of the License, or (at your
10  option) any later version. See the file COPYING for further details.
11
12* *****************************************************************/
13
14
28#include "lib/depend.hpp"
29
30#include <string>
31
32
33namespace vault {
34
35 using std::string;
36 using lumiera::Subsys;
37
39 : public Subsys
40 {
41 operator string () const { return "Engine"; }
42
43 bool
45 {
46 TODO ("determine, if renderengine should be started");
47 return false;
48 }
49
50 bool
51 start (lumiera::Option&, Subsys::SigTerm termination) override
52 {
53 UNIMPLEMENTED ("pull up renderengine and register shutdown hook");
54 return false;
55 }
56
57 void
58 triggerShutdown () noexcept override
59 {
60 UNIMPLEMENTED ("initiate halting the engine");
61 }
62
63 bool
64 checkRunningState () noexcept override
65 {
66 //Lock guard{*this};
67 TODO ("implement detecting running state");
68 return false;
69 }
70 };
71
72 namespace {
74 }
75
76
77
78
80 Subsys&
82 {
83 return theDescriptor();
84 }
85
86
87
88} // namespace vault
Access point to singletons and other kinds of dependencies designated by type.
Definition depend.hpp:281
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
function< void(string *)> SigTerm
Definition subsys.hpp:65
bool start(lumiera::Option &, Subsys::SigTerm termination) override
attempt to bring up this subsystem up.
bool checkRunningState() noexcept override
whether this subsystem is actually operational.
void triggerShutdown() noexcept override
initiate termination of this subsystem.
bool shouldStart(lumiera::Option &) override
query application option state to determine if this subsystem should be activated.
Singleton services and Dependency Injection.
Global control interface for the render engine subsystem.
Vault-Layer implementation namespace root.
static lumiera::Subsys & getDescriptor()
provide a descriptor for lumiera::AppState, wired accordingly to allow main to pull up and shut down ...