25 lines
699 B
C++
25 lines
699 B
C++
#pragma once
|
|
|
|
#include "../Components/wac_downloadManager/DownloadCallbackT.h"
|
|
|
|
class SongDownloader : public DownloadCallbackT<SongDownloader>
|
|
{
|
|
public:
|
|
SongDownloader(const wchar_t *filename, HANDLE done_event, void (*callback)(void *callbackContext, wchar_t *status), void *context);
|
|
~SongDownloader();
|
|
|
|
void OnInit(DownloadToken token);
|
|
void OnData(DownloadToken token, void *data, size_t datalen);
|
|
void OnCancel(DownloadToken token);
|
|
void OnError(DownloadToken token, int error);
|
|
void OnFinish(DownloadToken token);
|
|
|
|
private:
|
|
void (*callback)(void *callbackContext, wchar_t *status);
|
|
void *context;
|
|
HANDLE hFile, done_event;
|
|
uint64_t content_length;
|
|
uint64_t bytes_downloaded;
|
|
|
|
};
|