133 lines
4.6 KiB
C++
133 lines
4.6 KiB
C++
#ifndef __DAVINET_H
|
|
#define __DAVINET_H
|
|
|
|
#include "unk.h"
|
|
#include "idavinet.h"
|
|
#include "iasyncwnt.h"
|
|
|
|
class CDavInetImpl : public CCOMBase, public IDavTransport
|
|
{
|
|
public:
|
|
CDavInetImpl();
|
|
~CDavInetImpl();
|
|
|
|
// IDavTransport
|
|
STDMETHODIMP SetUserAgent(
|
|
/* [in] */ LPCWSTR pwszUserAgent);
|
|
|
|
STDMETHODIMP SetAuthentication(
|
|
/* [optional][in] */ LPCWSTR pwszUserName,
|
|
/* [optional][in] */ LPCWSTR pwszPassword);
|
|
|
|
STDMETHODIMP SetLogFilePath(
|
|
/* [optional][in] */ LPCWSTR pwszLogFilePath);
|
|
|
|
STDMETHODIMP CommandGET(
|
|
/* [in] */ LPCWSTR pwszUrl,
|
|
/* [in] */ ULONG nAcceptTypes,
|
|
/* [size_is][in] */ LPCWSTR rgwszAcceptTypes[],
|
|
/* [in] */ BOOL fTranslate,
|
|
/* [in] */ IDavCallback* pCallback,
|
|
/* [in] */ DWORD dwCallbackParam);
|
|
|
|
STDMETHODIMP CommandOPTIONS(
|
|
/* [in] */ LPCWSTR pwszUrl,
|
|
/* [in] */ IDavCallback* pCallback,
|
|
/* [in] */ DWORD dwCallbackParam);
|
|
|
|
STDMETHODIMP CommandHEAD(
|
|
/* [in] */ LPCWSTR pwszUrl,
|
|
/* [in] */ IDavCallback* pCallback,
|
|
/* [in] */ DWORD dwCallbackParam);
|
|
|
|
STDMETHODIMP CommandPUT(
|
|
/* [in] */ LPCWSTR pwszUrl,
|
|
/* [in] */ IStream* pStream,
|
|
/* [in] */ LPCWSTR pwszContentType,
|
|
/* [in] */ IDavCallback* pCallback,
|
|
/* [in] */ DWORD dwCallbackParam);
|
|
|
|
STDMETHODIMP CommandPOST(
|
|
/* [in] */ LPCWSTR pwszUrl,
|
|
/* [in] */ IStream* pStream,
|
|
/* [in] */ LPCWSTR pwszContentType,
|
|
/* [in] */ IDavCallback* pCallback,
|
|
/* [in] */ DWORD dwCallbackParam);
|
|
|
|
STDMETHODIMP CommandMKCOL(
|
|
/* [in] */ LPCWSTR pwszUrl,
|
|
/* [in] */ IDavCallback* pCallback,
|
|
/* [in] */ DWORD dwCallbackParam);
|
|
|
|
STDMETHODIMP CommandDELETE(
|
|
/* [in] */ LPCWSTR pwszUrl,
|
|
/* [in] */ IDavCallback* pCallback,
|
|
/* [in] */ DWORD dwCallbackParam);
|
|
|
|
STDMETHODIMP CommandCOPY(
|
|
/* [in] */ LPCWSTR pwszUrlSource,
|
|
/* [in] */ LPCWSTR pwszUrlDest,
|
|
/* [in] */ DWORD dwDepth,
|
|
/* [in] */ BOOL fOverwrite,
|
|
/* [in] */ IDavCallback* pCallback,
|
|
/* [in] */ DWORD dwCallbackParam);
|
|
|
|
STDMETHODIMP CommandMOVE(
|
|
/* [in] */ LPCWSTR pwszUrlSource,
|
|
/* [in] */ LPCWSTR pwszUrlDest,
|
|
/* [in] */ BOOL fOverwrite,
|
|
/* [in] */ IDavCallback* pCallback,
|
|
/* [in] */ DWORD dwCallbackParam);
|
|
|
|
STDMETHODIMP CommandPROPFIND(
|
|
/* [in] */ LPCWSTR pwszUrl,
|
|
/* [in] */ IPropFindRequest* pRequest,
|
|
/* [in] */ DWORD dwDepth,
|
|
/* [in] */ BOOL fNoRoot,
|
|
/* [in] */ IDavCallback* pCallback,
|
|
/* [in] */ DWORD dwCallbackParam);
|
|
|
|
STDMETHODIMP CommandPROPPATCH(
|
|
/* [in] */ LPCWSTR pwszUrl,
|
|
/* [in] */ IPropPatchRequest* pRequest,
|
|
/* [in] */ LPCWSTR pwszHeaders,
|
|
/* [in] */ IDavCallback* pCallback,
|
|
/* [in] */ DWORD dwCallbackParam);
|
|
|
|
STDMETHODIMP CommandSEARCH(
|
|
/* [in] */ LPCWSTR pwszUrl,
|
|
/* [in] */ IDavCallback* pCallback,
|
|
/* [in] */ DWORD dwCallbackParam);
|
|
|
|
STDMETHODIMP CommandREPLSEARCH(
|
|
/* [in] */ LPCWSTR pwszUrl,
|
|
/* [in] */ ULONG cbCollblob,
|
|
/* [size_is][in] */ BYTE* pbCollblob,
|
|
/* [in] */ IDavCallback* pCallback,
|
|
/* [in] */ DWORD dwCallbackParam);
|
|
|
|
private:
|
|
// internal methods
|
|
STDMETHODIMP _Init();
|
|
STDMETHODIMP _Command(
|
|
/* [in] */ LPCWSTR pwszUrl,
|
|
/* [in] */ LPCWSTR pwszVerb,
|
|
/* [in] */ LPCWSTR pwszHeaders,
|
|
/* [in] */ ULONG nAcceptTypes,
|
|
/* [in] */ LPCWSTR rgwszAcceptTypes[],
|
|
/* [in] */ IStream* pStream,
|
|
/* [in] */ IDavCallback* pCallback,
|
|
/* [in] */ DWORD dwCallbackParam);
|
|
|
|
private:
|
|
// member variables
|
|
IAsyncWnt* _pasyncInet;
|
|
LPWSTR _pwszUserName;
|
|
LPWSTR _pwszPassword; // BUGBUG: is it bad to store this unencrypted or something?
|
|
LPWSTR _pwszLogFilePath;
|
|
};
|
|
|
|
typedef CUnkTmpl<CDavInetImpl> CDavInet;
|
|
|
|
#endif // __DAVINET_H
|