from FrontendHeap.hpp:53
class FrontendHeap : public MVPHeap
{
public:
typedef meta::TypeList< MenuView,
meta::TypeList< HomeAutomationView,
meta::TypeList< AnimatedGraphicsView,
meta::TypeList< LiveDataDisplayView,
meta::TypeList< ChromArtView,
meta::Nil
> > > > > ViewTypes;
typedef meta::select_type_maxsize< ViewTypes >::type MaxViewType;
typedef meta::TypeList< MenuPresenter,
meta::TypeList< HomeAutomationPresenter,
meta::TypeList< AnimatedGraphicsPresenter,
meta::TypeList< LiveDataDisplayPresenter,
meta::TypeList< ChromArtPresenter,
meta::Nil
> > > > > PresenterTypes;
typedef meta::select_type_maxsize< PresenterTypes >::type MaxPresenterType;
typedef meta::TypeList< NoTransition,
meta::TypeList< SlideTransition<EAST>,
meta::TypeList< SlideTransition<WEST>,
meta::TypeList< SlideTransition<NORTH>,
meta::TypeList< SlideTransition<SOUTH>,
meta::Nil
> > > > > TransitionTypes;
typedef meta::select_type_maxsize< TransitionTypes >::type MaxTransitionType;
static FrontendHeap& getInstance()
{
static FrontendHeap instance;
return instance;
}
Partition< PresenterTypes, 1 > presenters;
Partition< ViewTypes, 1 > views;
Partition< TransitionTypes, 1 > transitions;
FrontendApplication app;
Model model;
private:
FrontendHeap()
: MVPHeap(presenters, views, transitions, app),
presenters(),
views(),
transitions(),
app(model, *this)
{
app.gotoMenuScreenNoAnimation();
}
};