00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #include "proc/common.hpp"
00025 #include "proc/control/stypemanager.hpp"
00026 #include "proc/control/styperegistry.hpp"
00027 #include "include/lifecycle.h"
00028
00029
00030 namespace control {
00031
00032 using lumiera::StreamType;
00033 using lumiera::Symbol;
00034
00035
00036
00037
00038 STypeManager::STypeManager()
00039 : reg_(0)
00040 {
00041 reset();
00042 }
00043
00044 STypeManager::~STypeManager()
00045 { }
00046
00049 lumiera::Singleton<STypeManager> STypeManager::instance;
00050
00051
00052 void
00053 STypeManager::reset()
00054 {
00055 reg_.reset(new Registry);
00056 lumiera::LifecycleHook::trigger (ON_STREAMTYPES_RESET);
00057 }
00058
00066 Symbol ON_STREAMTYPES_RESET ("ON_STREAMTYPES_RESET");
00067
00068
00069
00070
00071
00072
00073
00075 StreamType const&
00076 STypeManager::getType (Symbol sTypeID)
00077 {
00078 UNIMPLEMENTED ("get type just by symbolic ID (query defaults manager)");
00079 }
00080
00081
00082 StreamType const&
00083 STypeManager::getType (StreamType::Prototype const& protoType)
00084 {
00085 UNIMPLEMENTED ("build complete StreamType based on prototype; may include querying defaults manager");
00086 }
00087
00088
00089 StreamType const&
00090 STypeManager::getType (StreamType::ImplFacade const& implType)
00091 {
00092 UNIMPLEMENTED ("build complete StreamType round the given implementation type");
00093 }
00094
00095
00096 StreamType::ImplFacade const&
00097 STypeManager::getImpl (Symbol libID, StreamType::Prototype const& protoType)
00098 {
00099 UNIMPLEMENTED ("wire up implementation in compliance to a prototype and using a specific MediaImplLib. really tricky.... ");
00100 }
00101
00102
00103 StreamType::ImplFacade const&
00104 STypeManager::fetchImpl (StreamType::ImplFacade::TypeTag rawType)
00105 {
00106 UNIMPLEMENTED ("STypeManager basic functionality: wire up implementation facade (impl type) from given raw type of the library");
00107 }
00108
00109 }
00110
00111
00112
00113
00114 void
00115 lumiera_StreamType_registerInitFunction (void setupFun(void))
00116 {
00117 lumiera::LifecycleHook (control::ON_STREAMTYPES_RESET, setupFun);
00118 }