00001 /* 00002 Free Download Manager Copyright (c) 2003-2007 FreeDownloadManager.ORG 00003 Open Download Manager Copyright (c) 2008-2010 OpenDownloadManager.ORG 00004 */ 00005 00006 #include "FDMUrlReceiver.h" 00007 #include "common.h" 00008 00009 NS_IMPL_ISUPPORTS1(CFDMUrlReceiver, IFDMUrlReceiver) 00010 00011 CFDMUrlReceiver::CFDMUrlReceiver() 00012 { 00013 CoInitialize (NULL); 00014 } 00015 00016 CFDMUrlReceiver::~CFDMUrlReceiver() 00017 { 00018 m_spUrlRcvr = NULL; 00019 CoUninitialize (); 00020 } 00021 00022 NS_IMETHODIMP CFDMUrlReceiver::SetUrl(IFDMUrl *url) 00023 { 00024 if (m_spUrlRcvr == NULL) 00025 m_spUrlRcvr.CreateInstance (__uuidof (WGUrlReceiver)); 00026 00027 assert (m_spUrlRcvr != NULL); 00028 if (m_spUrlRcvr == NULL) 00029 return NS_ERROR_FAILURE; 00030 00031 CC (ApplyUrlToReceiver (m_spUrlRcvr, url)); 00032 00033 return NS_OK; 00034 } 00035 00036 NS_IMETHODIMP CFDMUrlReceiver::ShowAddDownloadDialog() 00037 { 00038 assert (m_spUrlRcvr != NULL); 00039 if (m_spUrlRcvr == NULL) 00040 return NS_ERROR_FAILURE; 00041 00042 CC (m_spUrlRcvr->ShowAddDownloadDialog ()); 00043 00044 m_spUrlRcvr = NULL; 00045 00046 return NS_OK; 00047 } 00048 00049 nsresult CFDMUrlReceiver::ApplyUrlToReceiver(IWGUrlReceiver *pUrlRcvr, IFDMUrl *url) 00050 { 00051 wchar_t *wsz; 00052 _bstr_t bstr; 00053 00054 url->GetUrl (&wsz); 00055 bstr = wsz; 00056 CC (pUrlRcvr->put_Url (bstr)); 00057 delete [] wsz; 00058 00059 url->GetReferer (&wsz); 00060 bstr = wsz; 00061 CC (pUrlRcvr->put_Referer (bstr)); 00062 delete [] wsz; 00063 00064 url->GetComment (&wsz); 00065 bstr = wsz; 00066 CC (pUrlRcvr->put_Comment (bstr)); 00067 delete [] wsz; 00068 00069 url->GetCookies (&wsz); 00070 bstr = wsz; 00071 CC (pUrlRcvr->put_Cookies (bstr)); 00072 delete [] wsz; 00073 00074 url->GetPostData (&wsz); 00075 bstr = wsz; 00076 CC (pUrlRcvr->put_PostData (bstr)); 00077 delete [] wsz; 00078 00079 return NS_OK; 00080 }
1.5.6