Initial community commit
This commit is contained in:
parent
537bcbc862
commit
fc06254474
16440 changed files with 4239995 additions and 2 deletions
95
Src/Plugins/Portable/pmp_p4s/MyProgress.cpp
Normal file
95
Src/Plugins/Portable/pmp_p4s/MyProgress.cpp
Normal file
|
@ -0,0 +1,95 @@
|
|||
#include "MyProgress.h"
|
||||
|
||||
extern LPARAM ipc_transfer;
|
||||
|
||||
MyProgress::MyProgress(TransferItem *_t)
|
||||
: t(_t), refcount(1), estTicks(0)
|
||||
{
|
||||
}
|
||||
|
||||
MyProgress::~MyProgress() {}
|
||||
|
||||
|
||||
HRESULT MyProgress::Begin(DWORD dwEstimatedTicks)
|
||||
{
|
||||
estTicks = dwEstimatedTicks / 100;
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
HRESULT MyProgress::Progress(DWORD dwTranspiredTicks)
|
||||
{
|
||||
if (estTicks > 0) {
|
||||
int pc = dwTranspiredTicks / estTicks;
|
||||
if(pc > 100) pc = 100;
|
||||
t->pc = pc;
|
||||
}
|
||||
else t->pc = 0;
|
||||
|
||||
wchar_t buf[100] = {0};
|
||||
wsprintf(buf,WASABI_API_LNGSTRINGW(IDS_TRANSFERRING_PERCENT), t->pc);
|
||||
t->callback(t->callbackContext,buf);
|
||||
|
||||
if (*(t->killswitch))
|
||||
return WMDM_E_USER_CANCELLED;
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
#define PHASE_START 1
|
||||
#define PHASE_INPROGRESS 2
|
||||
#define PHASE_FINISH 3
|
||||
#define PHASE_DONE 4
|
||||
#define PHASE_ERROR 5
|
||||
|
||||
HRESULT MyProgress::End()
|
||||
{
|
||||
t->phase = PHASE_FINISH;
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
#define IMPLEMENTS(ifc) if (riid == IID_ ## ifc) { ++refcount; *ppvObject = static_cast<ifc *>(this); return S_OK; }
|
||||
|
||||
HRESULT MyProgress::QueryInterface(REFIID riid,void __RPC_FAR *__RPC_FAR *ppvObject)
|
||||
{
|
||||
IMPLEMENTS(IUnknown);
|
||||
IMPLEMENTS(IWMDMProgress);
|
||||
IMPLEMENTS(IWMDMProgress2);
|
||||
IMPLEMENTS(IWMDMProgress3);
|
||||
*ppvObject = NULL;
|
||||
return E_NOINTERFACE;
|
||||
}
|
||||
|
||||
ULONG MyProgress::AddRef()
|
||||
{
|
||||
return ++refcount;
|
||||
}
|
||||
ULONG MyProgress::Release()
|
||||
{
|
||||
int x = --refcount;
|
||||
if (x == 0)
|
||||
delete this;
|
||||
|
||||
return x;
|
||||
}
|
||||
|
||||
HRESULT MyProgress::End2(HRESULT hrCompletionCode)
|
||||
{
|
||||
return End();
|
||||
}
|
||||
|
||||
HRESULT MyProgress::Begin3(GUID EventId,DWORD dwEstimatedTicks,OPAQUECOMMAND* pContext)
|
||||
{
|
||||
return Begin(dwEstimatedTicks);
|
||||
}
|
||||
|
||||
HRESULT MyProgress::Progress3(GUID EventId,DWORD dwTranspiredTicks,OPAQUECOMMAND* pContext)
|
||||
{
|
||||
return Progress(dwTranspiredTicks);
|
||||
}
|
||||
|
||||
HRESULT MyProgress::End3(GUID EventId,HRESULT hrCompletionCode,OPAQUECOMMAND* pContext)
|
||||
{
|
||||
return End2( hrCompletionCode);
|
||||
}
|
||||
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue