diff options
Diffstat (limited to 'src/fig/FIGCarousel.h')
-rw-r--r-- | src/fig/FIGCarousel.h | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/src/fig/FIGCarousel.h b/src/fig/FIGCarousel.h index cbb6868..42b8d9c 100644 --- a/src/fig/FIGCarousel.h +++ b/src/fig/FIGCarousel.h @@ -30,20 +30,39 @@ #define __FIG_CAROUSEL_H_ #include "fig/FIG.h" +#include "fig/FIG0.h" #include <list> +#include <map> #include <boost/shared_ptr.hpp> #include "MuxElements.h" +struct FIGCarouselElement { + IFIG* fig; + int deadline; + + void reduce_deadline(void); +}; + class FIGCarousel { public: FIGCarousel(boost::shared_ptr<dabEnsemble> ensemble); void set_currentFrame(unsigned long currentFrame); + void allocate_fig_to_fib(int figtype, int extension, int fib); + + void fib0(int framephase); + private: FIGRuntimeInformation m_rti; - std::list<IFIG> m_figs; + std::map<std::pair<int, int>, IFIG*> m_figs_available; + + // Each FIB contains a list of carousel elements + std::map<int, std::list<FIGCarouselElement> > m_fibs; + FIG0_0 m_fig0_0; + FIG0_1 m_fig0_1; + FIG0_2 m_fig0_2; }; #endif // __FIG_CAROUSEL_H_ |