You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

37 lines
747 B
C++

// SPDX-License-Identifier: GPL-2.0-or-later
// Copyright The Music Player Daemon Project
#pragma once
#include "lib/curl/Request.hxx"
#include "lib/curl/StringHandler.hxx"
#include "input/RemoteTagScanner.hxx"
class QobuzClient;
class QobuzTagScanner final
: public RemoteTagScanner, StringCurlResponseHandler
{
CurlRequest request;
RemoteTagHandler &handler;
public:
class ResponseParser;
QobuzTagScanner(QobuzClient &client,
std::string_view track_id,
RemoteTagHandler &_handler);
~QobuzTagScanner() noexcept override;
void Start() noexcept override {
request.StartIndirect();
}
private:
/* virtual methods from CurlResponseHandler */
void OnEnd() override;
void OnError(std::exception_ptr e) noexcept override;
};