WebMutableURLRequest.h [plain text]
#ifndef WebMutableURLRequest_H
#define WebMutableURLRequest_H
#include "WebKit.h"
#include <WebCore/ResourceRequest.h>
namespace WebCore
{
class FormData;
}
inline WebCore::ResourceRequestCachePolicy core(WebURLRequestCachePolicy policy)
{
return static_cast<WebCore::ResourceRequestCachePolicy>(policy);
}
inline WebURLRequestCachePolicy kit(WebCore::ResourceRequestCachePolicy policy)
{
return static_cast<WebURLRequestCachePolicy>(policy);
}
class WebMutableURLRequest : public IWebMutableURLRequest, IWebMutableURLRequestPrivate
{
public:
static WebMutableURLRequest* createInstance();
static WebMutableURLRequest* createInstance(IWebMutableURLRequest* req);
static WebMutableURLRequest* createInstance(const WebCore::ResourceRequest&);
static WebMutableURLRequest* createImmutableInstance();
static WebMutableURLRequest* createImmutableInstance(const WebCore::ResourceRequest&);
protected:
WebMutableURLRequest(bool isMutable);
~WebMutableURLRequest();
public:
virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
virtual ULONG STDMETHODCALLTYPE AddRef(void);
virtual ULONG STDMETHODCALLTYPE Release(void);
virtual HRESULT STDMETHODCALLTYPE requestWithURL(
BSTR theURL,
WebURLRequestCachePolicy cachePolicy,
double timeoutInterval);
virtual HRESULT STDMETHODCALLTYPE allHTTPHeaderFields(
IPropertyBag **result);
virtual HRESULT STDMETHODCALLTYPE cachePolicy(
WebURLRequestCachePolicy *result);
virtual HRESULT STDMETHODCALLTYPE HTTPBody(
IStream **result);
virtual HRESULT STDMETHODCALLTYPE HTTPBodyStream(
IStream **result);
virtual HRESULT STDMETHODCALLTYPE HTTPMethod(
BSTR *result);
virtual HRESULT STDMETHODCALLTYPE HTTPShouldHandleCookies(
BOOL *result);
virtual HRESULT STDMETHODCALLTYPE initWithURL(
BSTR url,
WebURLRequestCachePolicy cachePolicy,
double timeoutInterval);
virtual HRESULT STDMETHODCALLTYPE mainDocumentURL(
BSTR *result);
virtual HRESULT STDMETHODCALLTYPE timeoutInterval(
double *result);
virtual HRESULT STDMETHODCALLTYPE URL(
BSTR *result);
virtual HRESULT STDMETHODCALLTYPE valueForHTTPHeaderField(
BSTR field,
BSTR *result);
virtual HRESULT STDMETHODCALLTYPE isEmpty(
BOOL* result);
virtual HRESULT STDMETHODCALLTYPE mutableCopy(
IWebMutableURLRequest** result);
virtual HRESULT STDMETHODCALLTYPE isEqual(
IWebURLRequest* other,
BOOL* result);
virtual HRESULT STDMETHODCALLTYPE addValue(
BSTR value,
BSTR field);
virtual HRESULT STDMETHODCALLTYPE setAllHTTPHeaderFields(
IPropertyBag *headerFields);
virtual HRESULT STDMETHODCALLTYPE setCachePolicy(
WebURLRequestCachePolicy policy);
virtual HRESULT STDMETHODCALLTYPE setHTTPBody(
IStream *data);
virtual HRESULT STDMETHODCALLTYPE setHTTPBodyStream(
IStream *data);
virtual HRESULT STDMETHODCALLTYPE setHTTPMethod(
BSTR method);
virtual HRESULT STDMETHODCALLTYPE setHTTPShouldHandleCookies(
BOOL handleCookies);
virtual HRESULT STDMETHODCALLTYPE setMainDocumentURL(
BSTR theURL);
virtual HRESULT STDMETHODCALLTYPE setTimeoutInterval(
double timeoutInterval);
virtual HRESULT STDMETHODCALLTYPE setURL(
BSTR theURL);
virtual HRESULT STDMETHODCALLTYPE setValue(
BSTR value,
BSTR field);
virtual HRESULT STDMETHODCALLTYPE setAllowsAnyHTTPSCertificate(void);
virtual HRESULT STDMETHODCALLTYPE setClientCertificate(
OLE_HANDLE cert);
virtual CFURLRequestRef STDMETHODCALLTYPE cfRequest();
void setFormData(const PassRefPtr<WebCore::FormData> data);
const PassRefPtr<WebCore::FormData> formData() const;
void addHTTPHeaderFields(const WebCore::HTTPHeaderMap& headerFields);
const WebCore::HTTPHeaderMap& httpHeaderFields() const;
const WebCore::ResourceRequest& resourceRequest() const;
protected:
ULONG m_refCount;
bool m_isMutable;
WebCore::ResourceRequest m_request;
};
#endif