#include <Session.h>
Public Member Functions | |
| Session () | |
| const User * | user () |
| Dictionary & | dictionary () |
| void | setDictionary (const Dictionary &d) |
| bool | login (std::string name, std::string password) |
| std::vector< User > | topUsers (int limit) |
| int | findRanking (const User *user) |
| void | addToScore (int s) |
Private Attributes | |
| Wt::Dbo::backend::Sqlite3 | sqlite3_ |
| Wt::Dbo::Session | session_ |
| Wt::Dbo::ptr< User > | user_ |
| Dictionary | dictionary_ |
Definition at line 19 of file Session.h.
| Session::Session | ( | ) |
Definition at line 14 of file Session.C.
: sqlite3_(WApplication::instance()->appRoot() + "hangman.db") { session_.setConnection(sqlite3_); sqlite3_.setProperty("show-queries", "true"); session_.mapClass<User>("user"); Dbo::Transaction transaction(session_); try { session_.createTables(); session_.add(new User("guest", "guest")); WApplication::instance()->log("info") << "Database created"; } catch (...) { WApplication::instance()->log("info") << "Using existing database"; } transaction.commit(); }
| void Session::addToScore | ( | int | s ) |
| Dictionary& Session::dictionary | ( | ) | [inline] |
Definition at line 31 of file Session.h.
{ return dictionary_; }
| int Session::findRanking | ( | const User * | user ) |
| bool Session::login | ( | std::string | name, |
| std::string | password | ||
| ) |
| void Session::setDictionary | ( | const Dictionary & | d ) | [inline] |
Definition at line 32 of file Session.h.
{ dictionary_ = d;}
| std::vector< User > Session::topUsers | ( | int | limit ) |
Definition at line 55 of file Session.C.
{
Dbo::Transaction transaction(session_);
Users top = session_.find<User>().orderBy("score desc").limit(20);
std::vector<User> result;
for (Users::const_iterator i = top.begin(); i != top.end(); ++i)
result.push_back(**i);
transaction.commit();
return result;
}
| const User* Session::user | ( | ) | [inline] |
Dictionary Session::dictionary_ [private] |
Wt::Dbo::Session Session::session_ [private] |
Wt::Dbo::backend::Sqlite3 Session::sqlite3_ [private] |
Wt::Dbo::ptr<User> Session::user_ [private] |
1.7.2