input/Tidal*Request: add Start() method

The caller should be able to safely store the instance pointer before
his callback is invoked.
This commit is contained in:
Max Kellermann
2018-01-19 11:09:18 +01:00
parent 1ecad094bd
commit 2fed3b5e5b
6 changed files with 14 additions and 4 deletions

View File

@@ -46,6 +46,8 @@ public:
/**
* An asynchronous request for the streaming URL of a Tidal track.
*
* After construction, call Start() to initiate the request.
*/
class TidalTrackRequest final : CurlResponseHandler {
CurlSlist request_headers;
@@ -74,6 +76,10 @@ public:
~TidalTrackRequest() noexcept;
void Start() {
request.StartIndirect();
}
private:
/* virtual methods from CurlResponseHandler */
void OnHeaders(unsigned status,