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)
5  2011, 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 
35 #ifndef STEAM_ENGINE_CALC_STREAM_H
36 #define STEAM_ENGINE_CALC_STREAM_H
37 
38 
39 #include "lib/error.hpp"
40 #include "steam/play/timings.hpp"
43 //#include "include/dummy-player-facade.h"
44 //#include "include/display-facade.h"
45 //#include "common/instancehandle.hpp"
46 //#include "lib/singleton-ref.hpp"
47 //
48 //#include <string>
49 #include <vector>
50 #include <memory>
51 
52 
53 namespace steam {
54 namespace engine{
55 
56  namespace error = lumiera::error;
57 
58 // using std::string;
59 // using lumiera::Subsys;
60 // using lumiera::Display;
61 // using lumiera::DummyPlayer;
62 
63  class RenderEnvironment;
64 
65 
66 
67 
68 
69 
70  /*****************************************************/
87  class CalcStream
88  {
91 
92  protected:
93  CalcStream (RenderEnvironment& abstractEngine)
94  : drive_{}
95  { }
96 
97  friend class EngineService;
98 
99 
100  void
101  sendToOutput (play::DataSink)
102  {
103  UNIMPLEMENTED ("set up dispatcher to start calculating and feeding to the given output sink");
104  }
105 
106 
107  public:
108  CalcStream()
109  : drive_{}
110  { }
111 
112  ~CalcStream() { }
113 
114  // using standard copy operations
115 
116 
117 
118  };
119 
120  typedef std::vector<CalcStream> CalcStreams;
121 
122 
123 
124 
125 
126 }}// namespace steam::engine
127 #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:87
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).