Lumiera  0.pre.03
»edit your freedom«
config-resolver.cpp
Go to the documentation of this file.
1 /*
2  ConfigResolver - concrete setup for rule based configuration
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 
23 #include "lib/error.hpp"
24 #include "include/lifecycle.h"
27 #include "lib/depend-inject.hpp"
28 
31 
32 
33 namespace steam {
34  namespace {
35 
44  void
46  {
48  }
49 
51  }
52 
53 
59 
60 } // namespace steam
61 
62 
63 
64 
65 
66 
67 
68 
70 
71 
72 
73  /***************************************************************/
74  /* explicit template instantiations for querying various Types */
75  /***************************************************************/
76 
77 #include "steam/asset/procpatt.hpp"
78 #include "steam/asset/pipe.hpp"
79 #include "steam/asset/timeline.hpp"
80 #include "steam/asset/sequence.hpp"
82 
83 namespace lumiera{
84 namespace query {
85 
86  using steam::asset::Pipe;
87  using steam::asset::PPipe;
94 
96  using PFork = lib::P<Fork>;
97 
98  template PPipe DefsManager::operator() (Query<Pipe> const&);
99  template PProcPatt DefsManager::operator() (Query<const ProcPatt> const&);
100  template PFork DefsManager::operator() (Query<Fork> const&);
101  template PTimeline DefsManager::operator() (Query<Timeline> const&);
102  template PSequence DefsManager::operator() (Query<Sequence> const&);
103 
104  template bool DefsManager::define (PPipe const&, Query<Pipe> const&);
105  template bool DefsManager::forget (PPipe const&);
106 
107 
108 }} // namespace lumiera::query
void configure_ConfigResolver()
Install the actual ConfigResolver implementation.
Installing and invoking of application lifecycle event callbacks.
Definition of a structural asset to express patterns of wiring or processing Processing patterns can ...
A "processing pipe" represented as Asset.
"Processing Pattern" is a structural Asset representing information how to build some part of the ren...
Definition: procpatt.hpp:52
TODO type comment.
Definition: sequence.hpp:83
Mock/Test/Debugging Implementation of the config rules system.
Per type specific configuration of instances created as service dependencies.
Organisational grouping device within the Session model ("Track" / "Media Bin").
Steam-Layer implementation namespace root.
Definition of the concrete frontend for rule based configuration within the session.
Access point to singletons and other kinds of dependencies designated by type.
Definition: depend.hpp:280
structural asset corresponding to the part of the model forming a processing pipe for generating medi...
Definition: pipe.hpp:70
Facade: Dummy Implementation of the query interface.
Structural building block of the session: a sequence of clips.
static lib::Depend< ConfigResolver > instance
Singleton factory instance, configured with the actual implementation type.
This framework allows to (re)configure the lib::Depend front-end for dependency-injection.
const char * ON_GLOBAL_INIT
to be triggered in main()
define and register a callback for a specific lifecycle event.
Definition: lifecycle.h:67
Lumiera error handling (C++ interface).
A Fork serves as grouping device within the Session.
Definition: fork.hpp:94
Lumiera public interface.
Definition: advice.cpp:104
Customised refcounting smart pointer template, built upon std::shared_ptr, but forwarding type relati...
Definition: trait.hpp:71
Top level structural element within the session.
Implementation of the core defaults-management operations.