Lumiera  0.pre.03
»edit your freedom«
stypemanager.cpp
Go to the documentation of this file.
1 /*
2  STypeManager - entry point for dealing with media stream types
3 
4  Copyright (C) Lumiera.org
5  2008, Hermann Vosseler <Ichthyostega@web.de>
6 
7  This program is free software; you can redistribute it and/or
8  modify it under the terms of the GNU General Public License as
9  published by the Free Software Foundation; either version 2 of
10  the License, or (at your option) any later version.
11 
12  This program is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  GNU General Public License for more details.
16 
17  You should have received a copy of the GNU General Public License
18  along with this program; if not, write to the Free Software
19  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20 
21 * *****************************************************/
22 
23 
29 #include "steam/common.hpp"
32 #include "include/lifecycle.h"
33 
34 
35 namespace steam {
36 namespace control {
37 
38  using lib::Symbol;
39 
40  /* ======= stream type manager lifecycle ==========*/
41 
42 
43  STypeManager::STypeManager()
44  : reg_{}
45  {
46  reset();
47  }
48 
49  STypeManager::~STypeManager()
50  { }
51 
54  lib::Depend<STypeManager> STypeManager::instance;
55 
56 
57  void
58  STypeManager::reset()
59  {
60  reg_.reset(new Registry);
62  }
63 
71  const char* ON_STREAMTYPES_RESET ("ON_STREAMTYPES_RESET");
72 
73 
74 
75 
76 
77  /* ======= implementation of the public interface ========= */
78 
80  StreamType const&
81  STypeManager::getType (Symbol sTypeID)
82  {
83  UNIMPLEMENTED ("get type just by symbolic ID (query defaults manager)");
84  }
85 
86 
88  StreamType const&
89  STypeManager::getType (StreamType::ID stID)
90  {
91  UNIMPLEMENTED ("get type just by symbolic ID (query defaults manager)");
92  }
93 
94 
95  StreamType const&
96  STypeManager::getType (StreamType::Prototype const& protoType)
97  {
98  UNIMPLEMENTED ("build complete StreamType based on prototype; may include querying defaults manager");
99  }
100 
101 
102  StreamType const&
103  STypeManager::getType (StreamType::ImplFacade const& implType)
104  {
105  UNIMPLEMENTED ("build complete StreamType round the given implementation type");
106  }
107 
108 
110  STypeManager::getImpl (Symbol libID, StreamType::Prototype const& protoType)
111  {
112  UNIMPLEMENTED ("wire up implementation in compliance to a prototype and using a specific MediaImplLib. really tricky.... ");
113  }
114 
115 
117  STypeManager::fetchImpl (StreamType::ImplFacade::TypeTag rawType)
118  {
119  UNIMPLEMENTED ("STypeManager basic functionality: wire up implementation facade (impl type) from given raw type of the library");
120  }
121 
122 }} // namespace steam::control
123 
124 
125 // ==== C interface for registering setup of basic stream type configuration =======
126 
127 void
129 {
131 }
Installing and invoking of application lifecycle event callbacks.
Basic set of definitions and includes commonly used together.
void lumiera_StreamType_registerInitFunction(void setupFun(void))
any stream type implementation, which needs to be present on the pristine default level (without any ...
opaque placeholder (type erasure) for implementation specific type info.
Definition: streamtype.hpp:178
const char * ON_STREAMTYPES_RESET("ON_STREAMTYPES_RESET")
Steam-Layer implementation namespace root.
Access point to singletons and other kinds of dependencies designated by type.
Definition: depend.hpp:289
static void trigger(Symbol eventLabel)
trigger lifecycle callbacks registered under the given label
Definition: lifecycle.cpp:81
This is part of the implementation of the stream type manager (include).
Interface to the stream type system.
A (more or less) concrete implementation type, wired up as a facade providing the basic set of operat...
Definition: streamtype.hpp:108
Token or Atom with distinct identity.
Definition: symbol.hpp:126
define and register a callback for a specific lifecycle event.
Definition: lifecycle.h:76
const char * ON_STREAMTYPES_RESET
triggered to load the generic pristine default