--- /dev/null
+#ifndef _FETCH_TOP_CHOSEN_SONGS_FOR_TOURNAMENT_H
+#define _FETCH_TOP_CHOSEN_SONGS_FOR_TOURNAMENT_H 1
+
+#include <pqxx/transactor>
+#include <vector>
+#include "widestring.h"
+
+struct TopChosen {
+ widestring title, shorttitle;
+ unsigned frequency;
+
+ bool operator< (const TopChosen &other) const;
+};
+
+/* A transactor that fetches the best N scores for a given tournament */
+class FetchTopChosenSongsForTournament : public pqxx::transactor<> {
+private:
+ unsigned tournament, num;
+ std::vector<TopChosen> *chosen;
+
+public:
+ FetchTopChosenSongsForTournament(unsigned tournament, unsigned num, std::vector<TopChosen> *chosen);
+ void operator() (pqxx::transaction<> &t);
+};
+
+#endif /* !defined(_FETCH_TOP_CHOSEN_SONGS_FOR_TOURNAMENT_H) */