[moulette] switched to boost::signals2
[ozulis.git] / src / moulette / moulette.hh
blobe5dfa5efc7ff867d0f1fecfd181233ef9feba933
1 #ifndef MOULETTE_MOULETTE_HH
2 # define MOULETTE_MOULETTE_HH
4 # include <boost/signals2.hpp>
5 # include <boost/filesystem/path.hpp>
7 # include <ozulis/core/singleton.hh>
9 namespace moulette
11 class Testable;
12 class Listener;
14 class Moulette : public ozulis::core::Singleton<Moulette>
16 public:
17 Moulette();
18 ~Moulette();
20 void addTest(const boost::filesystem::path & path);
21 void addTest(Testable * test);
23 void run();
24 void registerListener(Listener & listener);
26 boost::signals2::signal<void (const Testable *)> testStarting;
27 boost::signals2::signal<void (const Testable *)> testFinished;
28 boost::signals2::signal<void ()> finished;
30 private:
31 std::vector<Testable *> tests_;
35 extern template class std::vector<moulette::Testable *>;
36 extern template class ozulis::core::Singleton<moulette::Moulette>;
38 #endif /* !MOULETTE_MOULETTE_HH */