Lumiera  0.pre.03
»edit your freedom«
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 
27 #include "vault/enginefacade.hpp"
28 #include "lib/depend.hpp"
29 
30 #include <string>
31 
32 
33 namespace 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
bool shouldStart(lumiera::Option &) override
query application option state to determine if this subsystem should be activated.
Dependencies and lifecycle of a partially independent Subsystem of the Application.
Definition: subsys.hpp:61
void triggerShutdown() noexcept override
initiate termination of this subsystem.
Global control interface for the render engine subsystem.
Frontend for handling the Lumiera application commandline arguments.
Definition: option.hpp:68
Access point to singletons and other kinds of dependencies designated by type.
Definition: depend.hpp:280
static lumiera::Subsys & getDescriptor()
provide a descriptor for lumiera::AppState, wired accordingly to allow main to pull up and shut down ...
bool start(lumiera::Option &, Subsys::SigTerm termination) override
attempt to bring up this subsystem up.
Singleton services and Dependency Injection.
bool checkRunningState() noexcept override
whether this subsystem is actually operational.
Vault-Layer implementation namespace root.