summaryrefslogtreecommitdiffstats
path: root/src/fig/FIGCarousel.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/fig/FIGCarousel.h')
-rw-r--r--src/fig/FIGCarousel.h21
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_