Created an interface for the Db class

This commit is contained in:
emeric
2025-07-09 00:29:16 +02:00
parent ecdfa8d68d
commit 764c92698c
106 changed files with 315 additions and 284 deletions
@@ -21,7 +21,7 @@
#include "database/Artist.hpp"
#include "database/Cluster.hpp"
#include "database/Db.hpp"
#include "database/IDb.hpp"
#include "database/Release.hpp"
#include "database/Session.hpp"
#include "database/Track.hpp"
@@ -29,10 +29,9 @@
namespace lms::recommendation
{
using namespace db;
std::unique_ptr<IEngine> createClustersEngine(Db& db)
std::unique_ptr<IEngine> createClustersEngine(db::IDb& db)
{
return std::make_unique<ClusterEngine>(db);
}
@@ -27,7 +27,7 @@ namespace lms::recommendation
class ClusterEngine : public IEngine
{
public:
ClusterEngine(db::Db& db)
ClusterEngine(db::IDb& db)
: _db{ db } {}
~ClusterEngine() override = default;
@@ -45,7 +45,7 @@ namespace lms::recommendation
ReleaseContainer getSimilarReleases(db::ReleaseId releaseId, std::size_t maxCount) const override;
ArtistContainer getSimilarArtists(db::ArtistId artistId, core::EnumSet<db::TrackArtistLinkType> linkTypes, std::size_t maxCount) const override;
db::Db& _db;
db::IDb& _db;
};
} // namespace lms::recommendation