Have sqlite connection object be pointers to help make sure correct destruction pattern happens.
This commit is contained in:
@@ -29,11 +29,13 @@
|
||||
#include <groovefingerprinter/fingerprinter.h>
|
||||
#include <grooveplayer/player.h>
|
||||
|
||||
GroovePlayerMgr::GroovePlayerMgr (std::string dbFile) : sqliteConnection(dbFile), connectionPool(&sqliteConnection, 3)
|
||||
GroovePlayerMgr::GroovePlayerMgr (std::string dbFile)
|
||||
{
|
||||
sqliteConnection = new Wt::Dbo::backend::Sqlite3(dbFile);
|
||||
connectionPool = new Wt::Dbo::FixedSqlConnectionPool(sqliteConnection, 3);
|
||||
musicScanDir = std::filesystem::current_path()/"music";
|
||||
Wt::Dbo::Session sqlSession;
|
||||
sqlSession.setConnectionPool(connectionPool);
|
||||
sqlSession.setConnectionPool(*connectionPool);
|
||||
sqlSession.mapClass<User>("user");
|
||||
sqlSession.mapClass<AudioTrack>("tracks");
|
||||
sqlSession.mapClass<UserAction>("actions");
|
||||
@@ -52,6 +54,11 @@ GroovePlayerMgr::GroovePlayerMgr (std::string dbFile) : sqliteConnection(dbFile)
|
||||
|
||||
}
|
||||
|
||||
GroovePlayerMgr::~GroovePlayerMgr()
|
||||
{
|
||||
delete connectionPool;
|
||||
}
|
||||
|
||||
std::list<AudioTrack> GroovePlayerMgr::getNextVoteBatch(Wt::Dbo::Session* session)
|
||||
{
|
||||
/**
|
||||
@@ -136,7 +143,7 @@ void GroovePlayerMgr::grooveEventLoop()
|
||||
*/
|
||||
|
||||
Wt::Dbo::Session sqlSession;
|
||||
sqlSession.setConnectionPool(connectionPool);
|
||||
sqlSession.setConnectionPool(*connectionPool);
|
||||
sqlSession.mapClass<User>("user");
|
||||
sqlSession.mapClass<AudioTrack>("tracks");
|
||||
sqlSession.mapClass<UserAction>("actions");
|
||||
@@ -471,7 +478,7 @@ void GroovePlayerMgr::removeOrphanedTracks(Wt::Dbo::Session* session)
|
||||
void GroovePlayerMgr::grooveAudioScannerLoop()
|
||||
{
|
||||
Wt::Dbo::Session sqlSession;
|
||||
sqlSession.setConnectionPool(connectionPool);
|
||||
sqlSession.setConnectionPool(*connectionPool);
|
||||
sqlSession.mapClass<User>("user");
|
||||
sqlSession.mapClass<AudioTrack>("tracks");
|
||||
sqlSession.mapClass<UserAction>("actions");
|
||||
|
||||
Reference in New Issue
Block a user