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)
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 
20 #include "steam/common.hpp"
23 #include "include/lifecycle.h"
24 
25 
26 namespace steam {
27 namespace control {
28 
29  using lib::Symbol;
30 
31  /* ======= stream type manager lifecycle ==========*/
32 
33 
34  STypeManager::STypeManager()
35  : reg_{}
36  {
37  reset();
38  }
39 
40  STypeManager::~STypeManager()
41  { }
42 
45  lib::Depend<STypeManager> STypeManager::instance;
46 
47 
48  void
49  STypeManager::reset()
50  {
51  reg_.reset(new Registry);
53  }
54 
62  const char* ON_STREAMTYPES_RESET ("ON_STREAMTYPES_RESET");
63 
64 
65 
66 
67 
68  /* ======= implementation of the public interface ========= */
69 
71  StreamType const&
72  STypeManager::getType (Symbol sTypeID)
73  {
74  UNIMPLEMENTED ("get type just by symbolic ID (query defaults manager)");
75  }
76 
77 
79  StreamType const&
80  STypeManager::getType (StreamType::ID stID)
81  {
82  UNIMPLEMENTED ("get type just by symbolic ID (query defaults manager)");
83  }
84 
85 
86  StreamType const&
87  STypeManager::getType (StreamType::Prototype const& protoType)
88  {
89  UNIMPLEMENTED ("build complete StreamType based on prototype; may include querying defaults manager");
90  }
91 
92 
93  StreamType const&
94  STypeManager::getType (StreamType::ImplFacade const& implType)
95  {
96  UNIMPLEMENTED ("build complete StreamType round the given implementation type");
97  }
98 
99 
101  STypeManager::getImpl (Symbol libID, StreamType::Prototype const& protoType)
102  {
103  UNIMPLEMENTED ("wire up implementation in compliance to a prototype and using a specific MediaImplLib. really tricky.... ");
104  }
105 
106 
108  STypeManager::fetchImpl (StreamType::ImplFacade::TypeTag rawType)
109  {
110  UNIMPLEMENTED ("STypeManager basic functionality: wire up implementation facade (impl type) from given raw type of the library");
111  }
112 
113 }} // namespace steam::control
114 
115 
116 // ==== C interface for registering setup of basic stream type configuration =======
117 
118 void
120 {
122 }
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:169
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:280
static void trigger(Symbol eventLabel)
trigger lifecycle callbacks registered under the given label
Definition: lifecycle.cpp:72
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:99
Token or Atom with distinct identity.
Definition: symbol.hpp:117
define and register a callback for a specific lifecycle event.
Definition: lifecycle.h:67
const char * ON_STREAMTYPES_RESET
triggered to load the generic pristine default