aboutsummaryrefslogtreecommitdiff
path: root/Src/Plugins/Portable/pmp_p4s/MyProgress.h
blob: 967518cb750d067b9707cd1c8183a2188bec36d5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#ifndef NULLSOFT_MYPROGRESSH
#define NULLSOFT_MYPROGRESSH

#include "P4SDevice.h"

class MyProgress : public IWMDMProgress3 
{
public:
	MyProgress(TransferItem * t);
	virtual ~MyProgress();

	/* IUnknown methods */
	virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid,void __RPC_FAR *__RPC_FAR *ppvObject);
	virtual ULONG STDMETHODCALLTYPE AddRef(); 
	virtual ULONG STDMETHODCALLTYPE Release();

	/* IWMDMProgress methods */
	virtual HRESULT STDMETHODCALLTYPE Begin(DWORD dwEstimatedTicks);
	virtual HRESULT STDMETHODCALLTYPE Progress(DWORD dwTranspiredTicks);
	virtual HRESULT STDMETHODCALLTYPE End();

	/* IWMDMProgress2 methods */
	virtual HRESULT STDMETHODCALLTYPE End2(HRESULT  hrCompletionCode);

	/* IWMDMProgress3 methods */
	virtual HRESULT STDMETHODCALLTYPE Begin3(GUID EventId,DWORD dwEstimatedTicks,OPAQUECOMMAND*  pContext);
	virtual HRESULT STDMETHODCALLTYPE Progress3(GUID EventId,DWORD dwTranspiredTicks,OPAQUECOMMAND*  pContext);
	virtual HRESULT STDMETHODCALLTYPE End3(GUID EventId,HRESULT hrCompletionCode,OPAQUECOMMAND*  pContext);
public:
	TransferItem *t;
	ULONG refcount;
	DWORD estTicks;
};

#endif