winamp/Src/Plugins/Portable/pmp_wifi/SongDownloader.h

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;
};