Lumiera 0.pre.04~rc.1
»edit your freedom«
Loading...
Searching...
No Matches
media-impl-lib.hpp
Go to the documentation of this file.
1/*
2 MEDIA-IMPL-LIB.hpp - facade interface to access an external media handling library
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
31#ifndef STEAM_CONTROL_MEDIA_IMPL_LIB_H
32#define STEAM_CONTROL_MEDIA_IMPL_LIB_H
33
34
35#include "steam/streamtype.hpp"
36
37
38
39namespace steam {
40namespace control {
41
42 using lib::Symbol;
43
44
46 {
47 protected:
48 virtual ~MediaImplLib() {};
49
53
54 public:
55 virtual Symbol getLibID() const =0;
56
57 virtual ImplFacade const& getImplFacade (TypeTag&) =0;
58 };
59
60
61}} // namespace steam::control
62#endif /*STEAM_CONTROL_MEDIA_IMPL_LIB_H*/
Token or Atom with distinct identity.
Definition symbol.hpp:120
opaque placeholder (type erasure) for implementation specific type info.
A (more or less) concrete implementation type, wired up as a facade providing the basic set of operat...
placeholder type for the contents of a data buffer.
StreamType::ImplFacade::TypeTag TypeTag
virtual ImplFacade const & getImplFacade(TypeTag &)=0
StreamType::ImplFacade::DataBuffer DataBuffer
virtual Symbol getLibID() const =0
StreamType::ImplFacade ImplFacade
Steam-Layer implementation namespace root.
Framework for classification of media streams.