Lumiera 0.pre.04
»edit your freedom«
Loading...
Searching...
No Matches
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
33namespace steam {
34 namespace {
35
44 void
49
50 LifecycleHook schedule_ (ON_GLOBAL_INIT, &configure_ConfigResolver);
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
78#include "steam/asset/pipe.hpp"
82
83namespace lumiera{
84namespace query {
85
94
97
98 template PPipe DefsManager::operator() (Query<Pipe> const&);
99 template PProcPatt DefsManager::operator() (Query<const ProcPatt> 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
This framework allows to (re)configure the lib::Depend front-end for dependency-injection.
Access point to singletons and other kinds of dependencies designated by type.
Definition depend.hpp:281
Customised refcounting smart pointer template, built upon std::shared_ptr, but forwarding type relati...
Definition p.hpp:77
define and register a callback for a specific lifecycle event.
Definition lifecycle.h:69
Generic interface to express a query for specifically typed result elements exposing some capabilitie...
Definition query.hpp:254
bool forget(lib::P< TAR > const &)
remove the defaults registration of the given object, if there was such
bool define(lib::P< TAR > const &, Query< TAR > const &=Query< TAR >())
register the given object as default, after ensuring it fulfils the query.
lib::P< TAR > operator()(Query< TAR > const &)
common access point: retrieve the default object fulfilling some given conditions.
static lib::Depend< ConfigResolver > instance
Singleton factory instance, configured with the actual implementation type.
structural asset corresponding to the part of the model forming a processing pipe for generating medi...
Definition pipe.hpp:72
"Processing Pattern" is a structural Asset representing information how to build some part of the ren...
Definition procpatt.hpp:54
TODO type comment.
Definition sequence.hpp:86
A Fork serves as grouping device within the Session.
Definition fork.hpp:95
Definition of the concrete frontend for rule based configuration within the session.
Implementation of the core defaults-management operations.
Per type specific configuration of instances created as service dependencies.
Lumiera error handling (C++ interface).
Mock/Test/Debugging Implementation of the config rules system.
Organisational grouping device within the Session model ("Track" / "Media Bin").
Installing and invoking of application lifecycle event callbacks.
Lumiera public interface.
Definition advice.hpp:102
CStr ON_GLOBAL_INIT
to be triggered in main()
void configure_ConfigResolver()
Install the actual ConfigResolver implementation.
Steam-Layer implementation namespace root.
A "processing pipe" represented as Asset.
Definition of a structural asset to express patterns of wiring or processing Processing patterns can ...
Structural building block of the session: a sequence of clips.
Top level structural element within the session.