diff --git a/src/cover/CoverArtGrabber.cpp b/src/cover/CoverArtGrabber.cpp
index f720e7c2..7a09bf72 100644
--- a/src/cover/CoverArtGrabber.cpp
+++ b/src/cover/CoverArtGrabber.cpp
@@ -17,8 +17,13 @@
* along with LMS. If not, see .
*/
+#include
+
#include "av/AvInfo.hpp"
+#include "database/Release.hpp"
+#include "database/Track.hpp"
+
#include "utils/Logger.hpp"
#include "CoverArtGrabber.hpp"
@@ -145,7 +150,7 @@ Grabber::getFromTrack(const boost::filesystem::path& p, std::size_t nbMaxCovers)
}
std::vector
-Grabber::getFromTrack(Wt::Dbo::Session& session, Database::Track::id_type trackId, std::size_t nbMaxCovers) const
+Grabber::getFromTrack(Wt::Dbo::Session& session, Database::IdType trackId, std::size_t nbMaxCovers) const
{
using namespace Database;
@@ -173,7 +178,7 @@ Grabber::getFromTrack(Wt::Dbo::Session& session, Database::Track::id_type trackI
std::vector
-Grabber::getFromRelease(Wt::Dbo::Session& session, Database::Release::id_type releaseId, std::size_t nbMaxCovers) const
+Grabber::getFromRelease(Wt::Dbo::Session& session, Database::IdType releaseId, std::size_t nbMaxCovers) const
{
using namespace Database;
diff --git a/src/cover/CoverArtGrabber.hpp b/src/cover/CoverArtGrabber.hpp
index 18d53a5d..43753c4f 100644
--- a/src/cover/CoverArtGrabber.hpp
+++ b/src/cover/CoverArtGrabber.hpp
@@ -38,8 +38,8 @@ class Grabber
std::vector getCoverPaths(const boost::filesystem::path& directoryPath, std::size_t nbMaxCovers = 1) const;
std::vector getFromDirectory(const boost::filesystem::path& path, std::size_t nbMaxCovers = 1) const;
std::vector getFromTrack(const boost::filesystem::path& path, std::size_t nbMaxCovers = 1) const;
- std::vector getFromTrack(Wt::Dbo::Session& session, Database::Track::id_type trackId, std::size_t nbMaxCovers = 1) const;
- std::vector getFromRelease(Wt::Dbo::Session& session, Database::Release::id_type releaseId, std::size_t nbMaxCovers = 1) const;
+ std::vector getFromTrack(Wt::Dbo::Session& session, Database::IdType trackId, std::size_t nbMaxCovers = 1) const;
+ std::vector getFromRelease(Wt::Dbo::Session& session, Database::IdType releaseId, std::size_t nbMaxCovers = 1) const;
private:
Grabber();
diff --git a/src/database/DatabaseHandler.cpp b/src/database/DatabaseHandler.cpp
index ff6b5136..dc915eb7 100644
--- a/src/database/DatabaseHandler.cpp
+++ b/src/database/DatabaseHandler.cpp
@@ -33,6 +33,12 @@
#include "utils/Logger.hpp"
+#include "DbArtist.hpp"
+#include "MediaDirectory.hpp"
+#include "Playlist.hpp"
+#include "Release.hpp"
+#include "Track.hpp"
+
#include "DatabaseHandler.hpp"
namespace Database {
diff --git a/src/database/DatabaseHandler.hpp b/src/database/DatabaseHandler.hpp
index 1a1a8006..f57a096d 100644
--- a/src/database/DatabaseHandler.hpp
+++ b/src/database/DatabaseHandler.hpp
@@ -17,8 +17,7 @@
* along with LMS. If not, see .
*/
-#ifndef DATABASE_HANDLER_HPP
-#define DATABASE_HANDLER_HPP
+#pragma once
#include
#include
@@ -30,12 +29,11 @@
#include
#include
-#include "Types.hpp"
+#include "User.hpp"
namespace Database {
-typedef Wt::Dbo::dbo_default_traits::IdType id_type;
-typedef Wt::Auth::Dbo::UserDatabase UserDatabase;
+using UserDatabase = Wt::Auth::Dbo::UserDatabase;
// Session living class handling the database and the login
class Handler
@@ -72,5 +70,4 @@ class Handler
} // namespace Database
-#endif
diff --git a/src/database/DbArtist.cpp b/src/database/DbArtist.cpp
index 823cf35c..416bdc26 100644
--- a/src/database/DbArtist.cpp
+++ b/src/database/DbArtist.cpp
@@ -17,11 +17,14 @@
* along with LMS. If not, see .
*/
-#include "Types.hpp"
#include "SqlQuery.hpp"
#include "utils/Logger.hpp"
+#include "Release.hpp"
+#include "DbArtist.hpp"
+#include "Track.hpp"
+
namespace Database
{
@@ -46,7 +49,7 @@ Artist::getByMBID(Wt::Dbo::Session& session, const std::string& mbid)
}
Artist::pointer
-Artist::getById(Wt::Dbo::Session& session, Artist::id_type id)
+Artist::getById(Wt::Dbo::Session& session, IdType id)
{
return session.find().where("id = ?").bind(id);
}
@@ -75,7 +78,7 @@ Artist::getAllOrphans(Wt::Dbo::Session& session)
static
Wt::Dbo::Query
getQuery(Wt::Dbo::Session& session,
- const std::set& clusterIds,
+ const std::set& clusterIds,
const std::vector& keywords)
{
WhereClause where;
@@ -116,7 +119,7 @@ getQuery(Wt::Dbo::Session& session,
std::vector
Artist::getByFilter(Wt::Dbo::Session& session,
- const std::set& clusters,
+ const std::set& clusters,
const std::vector keywords,
int offset, int size, bool& moreResults)
{
@@ -138,7 +141,7 @@ Artist::getByFilter(Wt::Dbo::Session& session,
}
std::vector>
-Artist::getReleases(const std::set& clusterIds) const
+Artist::getReleases(const std::set& clusterIds) const
{
assert(self());
assert(self()->id() != Wt::Dbo::dbo_traits::invalidId() );
@@ -212,7 +215,7 @@ Artist::getClusterGroups(std::vector clusterTypes, std::si
Wt::Dbo::collection queryRes = query;
- std::map> clusters;
+ std::map> clusters;
for (auto cluster : queryRes)
{
if (clusters[cluster->getType().id()].size() < size)
diff --git a/src/database/DbArtist.hpp b/src/database/DbArtist.hpp
index 1b5f6629..9ff9c673 100644
--- a/src/database/DbArtist.hpp
+++ b/src/database/DbArtist.hpp
@@ -17,8 +17,7 @@
* along with LMS. If not, see .
*/
-#ifndef _DB_ARTIST_HPP_
-#define _DB_ARTIST_HPP_
+#pragma once
#include
#include
@@ -26,6 +25,8 @@
#include
#include
+#include "Types.hpp"
+
namespace Database
{
@@ -39,17 +40,16 @@ class Artist : public Wt::Dbo::Dbo
public:
typedef Wt::Dbo::ptr pointer;
- typedef Wt::Dbo::dbo_traits::IdType id_type;
Artist() {}
Artist(const std::string& name, const std::string& MBID = "");
// Accessors
static pointer getByMBID(Wt::Dbo::Session& session, const std::string& MBID);
- static pointer getById(Wt::Dbo::Session& session, id_type id);
+ static pointer getById(Wt::Dbo::Session& session, IdType id);
static std::vector getByName(Wt::Dbo::Session& session, const std::string& name);
static std::vector getByFilter(Wt::Dbo::Session& session,
- const std::set& clusters, // at least one track that belongs to these clusters
+ const std::set& clusters, // at least one track that belongs to these clusters
const std::vector keywords, // name must match all of these keywords
int offset,
int size,
@@ -63,7 +63,7 @@ class Artist : public Wt::Dbo::Dbo
std::string getMBID(void) const { return _MBID; }
// Get the releases that have at least one track for this artist that belongs to optional cluster filters
- std::vector> getReleases(const std::set& clusterIds = std::set()) const;
+ std::vector> getReleases(const std::set& clusterIds = std::set()) const;
// Get the cluster of the tracks made by this artist
// Each clusters are grouped by cluster type, sorted by the number of occurence
@@ -97,4 +97,3 @@ class Artist : public Wt::Dbo::Dbo
} // namespace Database
-#endif
diff --git a/src/database/MediaDirectory.cpp b/src/database/MediaDirectory.cpp
index d9801689..edc4d7ef 100644
--- a/src/database/MediaDirectory.cpp
+++ b/src/database/MediaDirectory.cpp
@@ -19,7 +19,7 @@
#include "utils/Utils.hpp"
-#include "Types.hpp"
+#include "MediaDirectory.hpp"
namespace Database {
diff --git a/src/database/MediaDirectory.hpp b/src/database/MediaDirectory.hpp
index 434e78a3..7b640967 100644
--- a/src/database/MediaDirectory.hpp
+++ b/src/database/MediaDirectory.hpp
@@ -17,8 +17,7 @@
* along with LMS. If not, see .
*/
-#ifndef DATABASE_MEDIA_DIRECTORY_HPP
-#define DATABASE_MEDIA_DIRECTORY_HPP
+#pragma once
#include
@@ -59,5 +58,3 @@ class MediaDirectory
} // namespace Database
-#endif
-
diff --git a/src/database/Playlist.cpp b/src/database/Playlist.cpp
index 8676ffda..d1b5842b 100644
--- a/src/database/Playlist.cpp
+++ b/src/database/Playlist.cpp
@@ -16,8 +16,12 @@
* You should have received a copy of the GNU General Public License
* along with LMS. If not, see .
*/
+#include
-#include "Types.hpp"
+#include "User.hpp"
+#include "Track.hpp"
+
+#include "Playlist.hpp"
namespace Database {
diff --git a/src/database/Playlist.hpp b/src/database/Playlist.hpp
index beddbfa7..b9840fc9 100644
--- a/src/database/Playlist.hpp
+++ b/src/database/Playlist.hpp
@@ -17,8 +17,7 @@
* along with LMS. If not, see .
*/
-#ifndef DATABASE_PLAYLIST_HPP
-#define DATABASE_PLAYLIST_HPP
+#pragma once
#include
@@ -108,4 +107,3 @@ class PlaylistEntry
} // namespace Database
-#endif
diff --git a/src/database/Release.cpp b/src/database/Release.cpp
index 0fe6ba65..cde23718 100644
--- a/src/database/Release.cpp
+++ b/src/database/Release.cpp
@@ -17,9 +17,13 @@
* along with LMS. If not, see .
*/
-#include "Types.hpp"
#include "SqlQuery.hpp"
+#include "DbArtist.hpp"
+#include "Track.hpp"
+
+#include "Release.hpp"
+
namespace Database
{
@@ -44,7 +48,7 @@ Release::getByMBID(Wt::Dbo::Session& session, const std::string& mbid)
}
Release::pointer
-Release::getById(Wt::Dbo::Session& session, Release::id_type id)
+Release::getById(Wt::Dbo::Session& session, IdType id)
{
return session.find().where("id = ?").bind(id);
}
@@ -73,7 +77,7 @@ Release::getAllOrphans(Wt::Dbo::Session& session)
static
Wt::Dbo::Query
getQuery(Wt::Dbo::Session& session,
- const std::set& clusterIds,
+ const std::set& clusterIds,
const std::vector keywords)
{
WhereClause where;
@@ -113,7 +117,7 @@ getQuery(Wt::Dbo::Session& session,
std::vector
Release::getByFilter(Wt::Dbo::Session& session,
- const std::set& clusterIds,
+ const std::set& clusterIds,
const std::vector keywords,
int offset, int size, bool& moreResults)
{
@@ -182,7 +186,7 @@ Release::hasVariousArtists() const
}
std::vector>
-Release::getTracks(const std::set& clusterIds) const
+Release::getTracks(const std::set& clusterIds) const
{
assert(self());
assert(self()->id() != Wt::Dbo::dbo_traits::invalidId() );
@@ -256,7 +260,7 @@ Release::getClusterGroups(std::vector clusterTypes, std::s
Wt::Dbo::collection queryRes = query;
- std::map> clusters;
+ std::map> clusters;
for (auto cluster : queryRes)
{
if (clusters[cluster->getType().id()].size() < size)
diff --git a/src/database/Release.hpp b/src/database/Release.hpp
index c7020556..32cd1f10 100644
--- a/src/database/Release.hpp
+++ b/src/database/Release.hpp
@@ -23,19 +23,22 @@
#include
+#include "Types.hpp"
+
namespace Database
{
class Track;
class Release;
class Artist;
+class Cluster;
+class ClusterType;
class Release : public Wt::Dbo::Dbo
{
public:
typedef Wt::Dbo::ptr pointer;
- typedef Wt::Dbo::dbo_traits::IdType id_type;
Release() {}
Release(const std::string& name, const std::string& MBID = "");
@@ -43,18 +46,18 @@ class Release : public Wt::Dbo::Dbo
// Accessors
static pointer getByMBID(Wt::Dbo::Session& session, const std::string& MBID);
static std::vector getByName(Wt::Dbo::Session& session, const std::string& name);
- static pointer getById(Wt::Dbo::Session& session, id_type id);
+ static pointer getById(Wt::Dbo::Session& session, IdType id);
static std::vector getAllOrphans(Wt::Dbo::Session& session); // no track related
static std::vector getAll(Wt::Dbo::Session& session, int offset, int size);
static std::vector getByFilter(Wt::Dbo::Session& session,
- const std::set& clusters, // at least one track that belongs to these clusters
+ const std::set& clusters, // at least one track that belongs to these clusters
const std::vector keywords, // name must match all of these keywords
int offset,
int size,
bool& moreExpected);
- std::vector> getTracks(const std::set& clusters = std::set()) const;
+ std::vector> getTracks(const std::set& clusters = std::set()) const;
// Get the cluster of the tracks that belong to this release
// Each clusters are grouped by cluster type, sorted by the number of occurence
// size is the max number of cluster per cluster type
diff --git a/src/database/SqlQuery.hpp b/src/database/SqlQuery.hpp
index 98ce0b4f..76e6487e 100644
--- a/src/database/SqlQuery.hpp
+++ b/src/database/SqlQuery.hpp
@@ -17,8 +17,7 @@
* along with LMS. If not, see .
*/
-#ifndef SQL_QUERY_HPP___
-#define SQL_QUERY_HPP___
+#pragma once
#include
#include
@@ -134,5 +133,3 @@ class SqlQuery
GroupByStatement _groupByStatement; // GROUP BY statement
};
-#endif
-
diff --git a/src/database/Track.cpp b/src/database/Track.cpp
index 6bad83fb..9283eef7 100644
--- a/src/database/Track.cpp
+++ b/src/database/Track.cpp
@@ -21,7 +21,10 @@
#include "SqlQuery.hpp"
-#include "Types.hpp"
+#include "DbArtist.hpp"
+#include "Release.hpp"
+
+#include "Track.hpp"
namespace Database {
@@ -37,12 +40,12 @@ Track::getAll(Wt::Dbo::Session& session)
return session.find