Lumiera  0.pre.03
»edit your freedom«
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 
27 #ifndef STEAM_CONTROL_MEDIA_IMPL_LIB_H
28 #define STEAM_CONTROL_MEDIA_IMPL_LIB_H
29 
30 
31 #include "steam/streamtype.hpp"
32 
33 
34 
35 namespace steam {
36 namespace control {
37 
38  using lib::Symbol;
39 
40 
42  {
43  protected:
44  virtual ~MediaImplLib() {};
45 
49 
50  public:
51  virtual Symbol getLibID() const =0;
52 
53  virtual ImplFacade const& getImplFacade (TypeTag&) =0;
54  };
55 
56 
57 }} // namespace steam::control
58 #endif /*STEAM_CONTROL_MEDIA_IMPL_LIB_H*/
Framework for classification of media streams.
opaque placeholder (type erasure) for implementation specific type info.
Definition: streamtype.hpp:169
Steam-Layer implementation namespace root.
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
placeholder type for the contents of a data buffer.
Definition: streamtype.hpp:112