Lumiera  0.pre.03
»edit your freedom«
output-manager.hpp
Go to the documentation of this file.
1 /*
2  OUTPUT-MANAGER.hpp - handling all the real external output connections
3 
4  Copyright (C) Lumiera.org
5  2011, 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 
30 #ifndef STEAM_PLAY_OUTPUT_MANAGER_H
31 #define STEAM_PLAY_OUTPUT_MANAGER_H
32 
33 
34 #include "lib/error.hpp"
35 #include "lib/nocopy.hpp"
38 
39 //#include <string>
40 //#include <vector>
41 #include <memory>
42 
43 
44 namespace lumiera {
45 namespace error {
46  LUMIERA_ERROR_DECLARE (CANT_PLAY);
47 }}
48 
49 namespace steam {
50 namespace play {
51 
52 //using std::string;
53 //using std::vector;
54  using std::shared_ptr;
55 
56 
57 
58 
59  /**************************************************/
68  {
69  public:
70  virtual ~OutputManager() { }
71 
72 
73  virtual OutputSlot& getOutputFor (mobject::ModelPort port) =0;
74  };
75 
77 
78 
79 }} // namespace steam::play
80 #endif
Management of external Output connections.
Organising the output data calculation possibilities.
An (abstract) capability to send media data to an external output.
Any copy and copy construction prohibited.
Definition: nocopy.hpp:46
#define LUMIERA_ERROR_DECLARE(err)
Forward declare an error constant.
Definition: error.h:71
Steam-Layer implementation namespace root.
Mix-Ins to allow or prohibit various degrees of copying and cloning.
Lumiera error handling (C++ interface).
Handle designating a point within the model, where actually output data can be pulled.
Definition: model-port.hpp:104
Interface: Generic output sink.
Lumiera public interface.
Definition: advice.cpp:113