forked from mirror/freedownload
/
FDMUploader.cpp
77 lines (59 loc) · 1.74 KB
/
FDMUploader.cpp
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
/*
Free Download Manager Copyright (c) 2003-2016 FreeDownloadManager.ORG
*/
#include "stdafx.h"
#include "FdmApp.h"
#include "FDMUploader.h"
#include "UploadsWnd.h"
STDMETHODIMP CFDMUploader::CreateUpload(IUploadPackage *pPkg, BOOL bDialogReq, long *pUplId)
{
if (_pwndUploads == NULL || _pwndUploads->m_pwndUploads == NULL)
return E_FAIL;
USES_CONVERSION;
vmsUploadsDll::vmsUploadPackage *p = NULL;
if (pPkg != NULL)
{
_pwndUploads->m_pwndUploads->CreateNewPackage (&p);
long lCount = 0;
pPkg->GetFileCount (&lCount);
for (long i = 0; i < lCount; i++)
{
BSTR bstr;
pPkg->GetFilePath (i, &bstr);
p->add (W2A (bstr));
SysFreeString (bstr);
}
BSTR bstr = NULL;
pPkg->get_Name (&bstr);
if (bstr != NULL)
{
p->set_name (W2A (bstr));
SysFreeString (bstr);
}
}
return _pwndUploads->m_pwndUploads->CreateUpload (p, bDialogReq, pUplId) ? S_OK : E_FAIL;
}
STDMETHODIMP CFDMUploader::GetUploadTargetUrl(long lId, BSTR *pbstrUrl)
{
if (_pwndUploads == NULL || _pwndUploads->m_pwndUploads == NULL)
return E_FAIL;
USES_CONVERSION;
char szUrl [10000]; DWORD dw = sizeof (szUrl);
if (false == _pwndUploads->m_pwndUploads->GetUploadUrl (lId, szUrl, &dw))
return E_FAIL;
if (*szUrl == 0)
return S_FALSE;
*pbstrUrl = SysAllocString (A2W (szUrl));
return S_OK;
}
STDMETHODIMP CFDMUploader::GetUploadPackageName(long lId, BSTR *pbstrName)
{
if (_pwndUploads == NULL || _pwndUploads->m_pwndUploads == NULL)
return E_FAIL;
USES_CONVERSION;
char szName [10000];
if (false == _pwndUploads->m_pwndUploads->GetUploadPackageName (lId, szName, sizeof (szName)))
return E_FAIL;
*pbstrName = SysAllocString (A2W (szName));
return S_OK;
}