X-Git-Url: https://git.sesse.net/?p=ccbs;a=blobdiff_plain;f=bigscreen%2Fccbs_bigscreen.cpp;h=d5bb931ba5799c902e5068e4fa29b2b7249614d2;hp=09aa59cdedc504eeaddc30806e283f31a0f06789;hb=7b04e82cf97ac4f23290222ee4614f926515ac3b;hpb=f7a9cb8d192aa0e7f02bb6a2c6a1c88dba2afa54 diff --git a/bigscreen/ccbs_bigscreen.cpp b/bigscreen/ccbs_bigscreen.cpp index 09aa59c..d5bb931 100644 --- a/bigscreen/ccbs_bigscreen.cpp +++ b/bigscreen/ccbs_bigscreen.cpp @@ -3,6 +3,14 @@ #include #include "glwindow.h" +class Tournament { +public: + int id; + std::string name; +}; + +Tournament tourn; + /* A trigger that sets a flag whenever it's trigged. */ class FlagTrigger : pqxx::trigger { private: @@ -30,12 +38,6 @@ public: } }; -class Tournament { -public: - int id; - std::string name; -}; - /* A transactor that fetches the current tournament and some information about it. */ class FetchCurrentTournament : public pqxx::transactor<> { private: @@ -60,7 +62,6 @@ public: void init(pqxx::connection &conn) { - Tournament tourn; conn.perform(FetchCurrentTournament(&tourn)); if (tourn.id == -1) { @@ -73,12 +74,18 @@ void init(pqxx::connection &conn) void main_loop(pqxx::connection &conn) { + if (tourn.id == -1) { + // No active tournament, sleep a second or so and exit + sleep(1); + return; + } + pqxx::work t(conn, "trx"); // fetch all songs pqxx::result res( t.exec("SELECT * FROM songs") ); for (pqxx::result::const_iterator i = res.begin(); i != res.end(); ++i) { - // std::fprintf(stderr, "%s\n", i["title"].c_str()); + std::fprintf(stderr, "%s\n", i["title"].c_str()); } t.commit();