Lumiera  0.pre.03
»edit your freedom«
calc-stream.hpp
Go to the documentation of this file.
1 /*
2  CALC-STREAM.hpp - abstraction representing a series of scheduled calculations
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 
23 
44 #ifndef STEAM_ENGINE_CALC_STREAM_H
45 #define STEAM_ENGINE_CALC_STREAM_H
46 
47 
48 #include "lib/error.hpp"
49 #include "steam/play/timings.hpp"
52 //#include "include/dummy-player-facade.h"
53 //#include "include/display-facade.h"
54 //#include "common/instancehandle.hpp"
55 //#include "lib/singleton-ref.hpp"
56 //
57 //#include <string>
58 #include <vector>
59 #include <memory>
60 
61 
62 namespace steam {
63 namespace engine{
64 
65  namespace error = lumiera::error;
66 
67 // using std::string;
68 // using lumiera::Subsys;
69 // using lumiera::Display;
70 // using lumiera::DummyPlayer;
71 
72  class RenderEnvironment;
73 
74 
75 
76 
77 
78 
79  /*****************************************************/
96  class CalcStream
97  {
100 
101  protected:
102  CalcStream (RenderEnvironment& abstractEngine)
103  : drive_{}
104  { }
105 
106  friend class EngineService;
107 
108 
109  void
110  sendToOutput (play::DataSink)
111  {
112  UNIMPLEMENTED ("set up dispatcher to start calculating and feeding to the given output sink");
113  }
114 
115 
116  public:
117  CalcStream()
118  : drive_{}
119  { }
120 
121  ~CalcStream() { }
122 
123  // using standard copy operations
124 
125 
126 
127  };
128 
129  typedef std::vector<CalcStream> CalcStreams;
130 
131 
132 
133 
134 
135 }}// namespace steam::engine
136 #endif /*STEAM_ENGINE_CALC_STREAM_H*/
An (abstract) capability to send media data to an external output.
denotes an opened connection ready to receive media data for output.
Steam-Layer implementation namespace root.
A service to schedule series of calculations, delivering the rendered data into an external output si...
A calculation stream groups and abstracts a series of calculation jobs, delivering frames into the co...
Definition: calc-stream.hpp:96
Lumiera error handling (C++ interface).
How to define a timing specification or constraint.
The active core within a CalcStream, causing the render mechanism to re-trigger repeatedly.
Abstract definition of the environment hosting a given render activity (CalcStream).