123456789101112131415161718192021222324252627282930313233343536373839404142 |
- #pragma once
- #include "../Agave/DecodeFile/ifc_audiostream.h"
- #include "../Agave/DecodeFile/api_decodefile.h"
- enum
- {
- BURN_OK = 0,
- BURN_GENERAL_FAILURE = 1,
- BURN_FILE_NOT_FOUND = 2,
- BURN_DRM_NO_LICENSE = 3,
- BURN_DRM_NOT_ALLOWED = 4,
- BURN_DRM_BURN_COUNT_EXCEEDED= 5,
- BURN_NO_DECODER=6,
- };
- typedef unsigned __int32 WRESULT;
- class BurnManagerCallback
- {
- public:
- virtual void OnLicenseCallback(size_t numFiles, WRESULT *results) = 0;
- };
- class BurnManager
- {
- public:
- BurnManager();
- ~BurnManager();
- public:
- void SetDecodeAPI(api_decodefile *decoderAPI);
- api_decodefile *GetDecodeAPI(void);
- void SetFiles(size_t numFiles, const wchar_t **filenames, BurnManagerCallback *callback);
- ifc_audiostream *CreateDecoder(const wchar_t *filename);
- void CloseDecoder(ifc_audiostream *decoder);
- void CancelBurn();
- void BurnFinished();
- private:
- api_decodefile *decodeFile;
- void *context;
- };
|