Migrated scrobbling stuff
This commit is contained in:
@@ -1,15 +1,7 @@
|
||||
|
||||
add_subdirectory(auth)
|
||||
add_subdirectory(av)
|
||||
add_subdirectory(database)
|
||||
add_subdirectory(image)
|
||||
add_subdirectory(metadata)
|
||||
add_subdirectory(recommendation)
|
||||
add_subdirectory(scanner)
|
||||
add_subdirectory(scrobbling)
|
||||
add_subdirectory(services)
|
||||
add_subdirectory(som)
|
||||
add_subdirectory(subsonic)
|
||||
add_subdirectory(utils)
|
||||
|
||||
|
||||
|
||||
@@ -1 +1,6 @@
|
||||
add_subdirectory(auth)
|
||||
add_subdirectory(cover)
|
||||
add_subdirectory(database)
|
||||
add_subdirectory(recommendation)
|
||||
add_subdirectory(scanner)
|
||||
add_subdirectory(scrobbling)
|
||||
|
||||
@@ -4,7 +4,7 @@ add_library(lmsscrobbling SHARED
|
||||
impl/listenbrainz/ListenBrainzScrobbler.cpp
|
||||
impl/listenbrainz/ListensSynchronizer.cpp
|
||||
impl/listenbrainz/Utils.cpp
|
||||
impl/Scrobbling.cpp
|
||||
impl/ScrobblingService.cpp
|
||||
)
|
||||
|
||||
target_include_directories(lmsscrobbling INTERFACE
|
||||
+1
-1
@@ -25,7 +25,7 @@
|
||||
|
||||
#include <Wt/WDateTime.h>
|
||||
|
||||
#include "scrobbling/Listen.hpp"
|
||||
#include "services/scrobbling/Listen.hpp"
|
||||
|
||||
namespace Database
|
||||
{
|
||||
+22
-22
@@ -17,7 +17,7 @@
|
||||
* along with LMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "Scrobbling.hpp"
|
||||
#include "ScrobblingService.hpp"
|
||||
|
||||
#include "database/Artist.hpp"
|
||||
#include "database/Db.hpp"
|
||||
@@ -34,13 +34,13 @@ namespace Scrobbling
|
||||
{
|
||||
using namespace Database;
|
||||
|
||||
std::unique_ptr<IScrobbling>
|
||||
createScrobbling(boost::asio::io_context& ioContext, Db& db)
|
||||
std::unique_ptr<IScrobblingService>
|
||||
createScrobblingService(boost::asio::io_context& ioContext, Db& db)
|
||||
{
|
||||
return std::make_unique<Scrobbling>(ioContext, db);
|
||||
return std::make_unique<ScrobblingService>(ioContext, db);
|
||||
}
|
||||
|
||||
Scrobbling::Scrobbling(boost::asio::io_context& ioContext, Db& db)
|
||||
ScrobblingService::ScrobblingService(boost::asio::io_context& ioContext, Db& db)
|
||||
: _db {db}
|
||||
{
|
||||
_scrobblers.emplace(Database::Scrobbler::Internal, std::make_unique<InternalScrobbler>(_db));
|
||||
@@ -48,28 +48,28 @@ namespace Scrobbling
|
||||
}
|
||||
|
||||
void
|
||||
Scrobbling::listenStarted(const Listen& listen)
|
||||
ScrobblingService::listenStarted(const Listen& listen)
|
||||
{
|
||||
if (std::optional<Database::Scrobbler> scrobbler {getUserScrobbler(listen.userId)})
|
||||
_scrobblers[*scrobbler]->listenStarted(listen);
|
||||
}
|
||||
|
||||
void
|
||||
Scrobbling::listenFinished(const Listen& listen, std::optional<std::chrono::seconds> duration)
|
||||
ScrobblingService::listenFinished(const Listen& listen, std::optional<std::chrono::seconds> duration)
|
||||
{
|
||||
if (std::optional<Database::Scrobbler> scrobbler {getUserScrobbler(listen.userId)})
|
||||
_scrobblers[*scrobbler]->listenFinished(listen, duration);
|
||||
}
|
||||
|
||||
void
|
||||
Scrobbling::addTimedListen(const TimedListen& listen)
|
||||
ScrobblingService::addTimedListen(const TimedListen& listen)
|
||||
{
|
||||
if (std::optional<Database::Scrobbler> scrobbler {getUserScrobbler(listen.userId)})
|
||||
_scrobblers[*scrobbler]->addTimedListen(listen);
|
||||
}
|
||||
|
||||
std::optional<Database::Scrobbler>
|
||||
Scrobbling::getUserScrobbler(Database::UserId userId)
|
||||
ScrobblingService::getUserScrobbler(Database::UserId userId)
|
||||
{
|
||||
std::optional<Database::Scrobbler> scrobbler;
|
||||
|
||||
@@ -81,8 +81,8 @@ namespace Scrobbling
|
||||
return scrobbler;
|
||||
}
|
||||
|
||||
Scrobbling::ArtistContainer
|
||||
Scrobbling::getRecentArtists(UserId userId,
|
||||
ScrobblingService::ArtistContainer
|
||||
ScrobblingService::getRecentArtists(UserId userId,
|
||||
const std::vector<ClusterId>& clusterIds,
|
||||
std::optional<TrackArtistLinkType> linkType,
|
||||
std::optional<Range> range,
|
||||
@@ -107,8 +107,8 @@ namespace Scrobbling
|
||||
return res;
|
||||
}
|
||||
|
||||
Scrobbling::ReleaseContainer
|
||||
Scrobbling::getRecentReleases(Database::UserId userId,
|
||||
ScrobblingService::ReleaseContainer
|
||||
ScrobblingService::getRecentReleases(Database::UserId userId,
|
||||
const std::vector<Database::ClusterId>& clusterIds,
|
||||
std::optional<Database::Range> range,
|
||||
bool& moreResults)
|
||||
@@ -132,8 +132,8 @@ namespace Scrobbling
|
||||
return res;
|
||||
}
|
||||
|
||||
Scrobbling::TrackContainer
|
||||
Scrobbling::getRecentTracks(Database::UserId userId,
|
||||
ScrobblingService::TrackContainer
|
||||
ScrobblingService::getRecentTracks(Database::UserId userId,
|
||||
const std::vector<Database::ClusterId>& clusterIds,
|
||||
std::optional<Database::Range> range,
|
||||
bool& moreResults)
|
||||
@@ -159,8 +159,8 @@ namespace Scrobbling
|
||||
|
||||
|
||||
// Top
|
||||
Scrobbling::ArtistContainer
|
||||
Scrobbling::getTopArtists(UserId userId,
|
||||
ScrobblingService::ArtistContainer
|
||||
ScrobblingService::getTopArtists(UserId userId,
|
||||
const std::vector<Database::ClusterId>& clusterIds,
|
||||
std::optional<Database::TrackArtistLinkType> linkType,
|
||||
std::optional<Database::Range> range,
|
||||
@@ -185,8 +185,8 @@ namespace Scrobbling
|
||||
return res;
|
||||
}
|
||||
|
||||
Scrobbling::ReleaseContainer
|
||||
Scrobbling::getTopReleases(Database::UserId userId,
|
||||
ScrobblingService::ReleaseContainer
|
||||
ScrobblingService::getTopReleases(Database::UserId userId,
|
||||
const std::vector<Database::ClusterId>& clusterIds,
|
||||
std::optional<Database::Range> range,
|
||||
bool& moreResults)
|
||||
@@ -210,8 +210,8 @@ namespace Scrobbling
|
||||
return res;
|
||||
}
|
||||
|
||||
Scrobbling::TrackContainer
|
||||
Scrobbling::getTopTracks(Database::UserId userId,
|
||||
ScrobblingService::TrackContainer
|
||||
ScrobblingService::getTopTracks(Database::UserId userId,
|
||||
const std::vector<Database::ClusterId>& clusterIds,
|
||||
std::optional<Database::Range> range,
|
||||
bool& moreResults)
|
||||
@@ -235,7 +235,7 @@ namespace Scrobbling
|
||||
}
|
||||
|
||||
Database::ObjectPtr<Database::TrackList>
|
||||
Scrobbling::getListensTrackList(Session& session, Database::ObjectPtr<Database::User> user)
|
||||
ScrobblingService::getListensTrackList(Session& session, Database::ObjectPtr<Database::User> user)
|
||||
{
|
||||
return _scrobblers[user->getScrobbler()]->getListensTrackList(session, user);
|
||||
}
|
||||
+3
-3
@@ -23,15 +23,15 @@
|
||||
#include <optional>
|
||||
#include <unordered_map>
|
||||
|
||||
#include "scrobbling/IScrobbling.hpp"
|
||||
#include "services/scrobbling/IScrobblingService.hpp"
|
||||
#include "IScrobbler.hpp"
|
||||
|
||||
namespace Scrobbling
|
||||
{
|
||||
class Scrobbling : public IScrobbling
|
||||
class ScrobblingService : public IScrobblingService
|
||||
{
|
||||
public:
|
||||
Scrobbling(boost::asio::io_context& ioContext, Database::Db& db);
|
||||
ScrobblingService(boost::asio::io_context& ioContext, Database::Db& db);
|
||||
|
||||
private:
|
||||
void listenStarted(const Listen& listen) override;
|
||||
+1
-1
@@ -32,7 +32,7 @@
|
||||
#include "database/Track.hpp"
|
||||
#include "database/TrackList.hpp"
|
||||
#include "database/User.hpp"
|
||||
#include "scrobbling/Exception.hpp"
|
||||
#include "services/scrobbling/Exception.hpp"
|
||||
#include "utils/IConfig.hpp"
|
||||
#include "utils/http/IClient.hpp"
|
||||
#include "utils/Logger.hpp"
|
||||
+1
-1
@@ -27,7 +27,7 @@
|
||||
#include <Wt/Dbo/Dbo.h>
|
||||
|
||||
#include "database/Types.hpp"
|
||||
#include "scrobbling/Listen.hpp"
|
||||
#include "services/scrobbling/Listen.hpp"
|
||||
|
||||
namespace Database
|
||||
{
|
||||
+4
-4
@@ -28,7 +28,7 @@
|
||||
|
||||
#include <Wt/WDateTime.h>
|
||||
|
||||
#include "scrobbling/Listen.hpp"
|
||||
#include "services/scrobbling/Listen.hpp"
|
||||
#include "database/Types.hpp"
|
||||
|
||||
namespace Database
|
||||
@@ -44,10 +44,10 @@ namespace Database
|
||||
namespace Scrobbling
|
||||
{
|
||||
|
||||
class IScrobbling
|
||||
class IScrobblingService
|
||||
{
|
||||
public:
|
||||
virtual ~IScrobbling() = default;
|
||||
virtual ~IScrobblingService() = default;
|
||||
|
||||
// Scrobbling
|
||||
virtual void listenStarted(const Listen& listen) = 0;
|
||||
@@ -97,7 +97,7 @@ namespace Scrobbling
|
||||
bool& moreResults) = 0;
|
||||
};
|
||||
|
||||
std::unique_ptr<IScrobbling> createScrobbling(boost::asio::io_service& ioService, Database::Db& db);
|
||||
std::unique_ptr<IScrobblingService> createScrobblingService(boost::asio::io_service& ioService, Database::Db& db);
|
||||
|
||||
} // ns Scrobbling
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user