Files
Slnkdwf/SlnkDWFCom/FTP.h
Jos Groot Lipman 57d9899e8a Versie 3.13: FTP object ook PutFile functie
svn path=/Slnkdwf/trunk/; revision=20485
2014-01-30 08:39:04 +00:00

87 lines
2.4 KiB
C++

// FTP.h : Declaration of the CFTP
#pragma once
#include "resource.h" // main symbols
#include "SLNKDWF.h"
#include "Wininet.h"
#if defined(_WIN32_WCE) && !defined(_CE_DCOM) && !defined(_CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA)
#error "Single-threaded COM objects are not properly supported on Windows CE platform, such as the Windows Mobile platforms that do not include full DCOM support. Define _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA to force ATL to support creating single-thread COM object's and allow use of it's single-threaded COM object implementations. The threading model in your rgs file was set to 'Free' as that is the only threading model supported in non DCOM Windows CE platforms."
#endif
// CFTP
class ATL_NO_VTABLE CFTP :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CFTP, &CLSID_FTP>,
public ISupportErrorInfo,
public IDispatchImpl<IFTP, &IID_IFTP, &LIBID_SLNKDWFLib, /*wMajor =*/ 1, /*wMinor =*/ 0>
{
public:
CFTP(): m_hInternetOpen(NULL), m_hInternetConnect(NULL), m_Username("anonymous"), m_Flags(0)
{
}
~CFTP(void);
DECLARE_REGISTRY_RESOURCEID(IDR_FTP)
BEGIN_COM_MAP(CFTP)
COM_INTERFACE_ENTRY(IFTP)
COM_INTERFACE_ENTRY(IDispatch)
COM_INTERFACE_ENTRY(ISupportErrorInfo)
END_COM_MAP()
// ISupportsErrorInfo
STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);
DECLARE_PROTECT_FINAL_CONSTRUCT()
HRESULT FinalConstruct()
{
return S_OK;
}
void FinalRelease()
{
}
public:
STDMETHOD(get_Proxyname)(BSTR* pVal);
STDMETHOD(put_Proxyname)(BSTR newVal);
STDMETHOD(get_Hostname)(BSTR* pVal);
STDMETHOD(put_Hostname)(BSTR newVal);
STDMETHOD(get_Port)(LONG* pVal);
STDMETHOD(put_Port)(LONG newVal);
STDMETHOD(get_Username)(BSTR* pVal);
STDMETHOD(put_Username)(BSTR newVal);
STDMETHOD(get_Password)(BSTR* pVal);
STDMETHOD(put_Password)(BSTR newVal);
STDMETHOD(get_Flags)(LONG* pVal);
STDMETHOD(put_Flags)(LONG newVal);
STDMETHOD(Open)();
STDMETHOD(SetCurrentDir)(BSTR Directory);
STDMETHOD(PutFileFromTextData)(BSTR remoteFileName, BSTR data);
STDMETHOD(PutFile)(BSTR remoteFileName, BSTR localFileName);
STDMETHOD(Close)();
private:
HINTERNET m_hInternetOpen;
HINTERNET m_hInternetConnect;
CString m_Proxyname;
CString m_Hostname;
INTERNET_PORT m_Port;
CString m_Username;
CString m_Password;
DWORD m_Flags;
};
OBJECT_ENTRY_AUTO(__uuidof(FTP), CFTP)