00001
00002
00003
00004
00005
00006 #include "stdafx.h"
00007 #include "FdmApp.h"
00008 #include "FDMUploader.h"
00009 #include "UploadsWnd.h"
00010
00011 STDMETHODIMP CFDMUploader::CreateUpload(IUploadPackage *pPkg, BOOL bDialogReq, long *pUplId)
00012 {
00013 if (_pwndUploads->m_pwndUploads == NULL)
00014 return E_FAIL;
00015
00016 USES_CONVERSION;
00017 vmsUploadsDll::vmsUploadPackage *p = NULL;
00018
00019 if (pPkg != NULL)
00020 {
00021 _pwndUploads->m_pwndUploads->CreateNewPackage (&p);
00022
00023 long lCount = 0;
00024 pPkg->GetFileCount (&lCount);
00025
00026 for (long i = 0; i < lCount; i++)
00027 {
00028 BSTR bstr;
00029 pPkg->GetFilePath (i, &bstr);
00030 p->add (W2A (bstr));
00031 SysFreeString (bstr);
00032 }
00033
00034 BSTR bstr = NULL;
00035 pPkg->get_Name (&bstr);
00036 if (bstr != NULL)
00037 {
00038 p->set_name (W2A (bstr));
00039 SysFreeString (bstr);
00040 }
00041 }
00042
00043 return _pwndUploads->m_pwndUploads->CreateUpload (p, bDialogReq, pUplId) ? S_OK : E_FAIL;
00044 }
00045
00046 STDMETHODIMP CFDMUploader::GetUploadTargetUrl(long lId, BSTR *pbstrUrl)
00047 {
00048 if (_pwndUploads->m_pwndUploads == NULL)
00049 return E_FAIL;
00050
00051 USES_CONVERSION;
00052 char szUrl [10000]; DWORD dw = sizeof (szUrl);
00053
00054 if (false == _pwndUploads->m_pwndUploads->GetUploadUrl (lId, szUrl, &dw))
00055 return E_FAIL;
00056
00057 if (*szUrl == 0)
00058 return S_FALSE;
00059
00060 *pbstrUrl = SysAllocString (A2W (szUrl));
00061
00062 return S_OK;
00063 }
00064
00065 STDMETHODIMP CFDMUploader::GetUploadPackageName(long lId, BSTR *pbstrName)
00066 {
00067 if (_pwndUploads->m_pwndUploads == NULL)
00068 return E_FAIL;
00069
00070 USES_CONVERSION;
00071 char szName [10000];
00072 if (false == _pwndUploads->m_pwndUploads->GetUploadPackageName (lId, szName, sizeof (szName)))
00073 return E_FAIL;
00074
00075 *pbstrName = SysAllocString (A2W (szName));
00076
00077 return S_OK;
00078 }