Index: src/plugin/PluginWbPassThrough.h |
=================================================================== |
--- a/src/plugin/PluginWbPassThrough.h |
+++ b/src/plugin/PluginWbPassThrough.h |
@@ -57,19 +57,19 @@ |
/* [in] */ LPCWSTR szURL, |
/* [in] */ LPCWSTR szHeaders, |
/* [in] */ DWORD dwReserved, |
- /* [out] */ LPWSTR *pszAdditionalHeaders); |
+ /* [out] */ LPWSTR* pszAdditionalHeaders); |
STDMETHODIMP OnResponse( |
/* [in] */ DWORD dwResponseCode, |
/* [in] */ LPCWSTR szResponseHeaders, |
/* [in] */ LPCWSTR szRequestHeaders, |
- /* [out] */ LPWSTR *pszAdditionalRequestHeaders); |
+ /* [out] */ LPWSTR* pszAdditionalRequestHeaders); |
- HRESULT OnStart(LPCWSTR szUrl, IInternetProtocolSink *pOIProtSink, |
- IInternetBindInfo *pOIBindInfo, DWORD grfPI, HANDLE_PTR dwReserved, |
+ HRESULT OnStart(LPCWSTR szUrl, IInternetProtocolSink* pOIProtSink, |
+ IInternetBindInfo* pOIBindInfo, DWORD grfPI, HANDLE_PTR dwReserved, |
IInternetProtocol* pTargetProtocol); |
- HRESULT OnRead(void *pv, ULONG cb, ULONG* pcbRead); |
+ HRESULT OnRead(void* pv, ULONG cb, ULONG* pcbRead); |
STDMETHODIMP ReportProgress( |
/* [in] */ ULONG ulStatusCode, |
@@ -84,20 +84,42 @@ |
/* [in] */ PROTOCOLDATA *pProtocolData); |
}; |
-class WBPassthru; |
-typedef PassthroughAPP::CustomSinkStartPolicy<WBPassthru, WBPassthruSink> WBStartPolicy; |
+class WbPassthroughProtocol; |
-class WBPassthru : public PassthroughAPP::CInternetProtocol<WBStartPolicy> |
+class WbPassthroughSinkStartPolicy |
+ : public PassthroughAPP::CustomSinkStartPolicy<WbPassthroughProtocol, WBPassthruSink> |
{ |
- typedef PassthroughAPP::CInternetProtocol<WBStartPolicy> BaseClass; |
+ typedef PassthroughAPP::CustomSinkStartPolicy<WbPassthroughProtocol, WBPassthruSink> BaseClass; |
public: |
- WBPassthru(); |
- // IInternetProtocolRoot |
- STDMETHODIMP Start(LPCWSTR szUrl, IInternetProtocolSink *pOIProtSink, |
- IInternetBindInfo *pOIBindInfo, DWORD grfPI, HANDLE_PTR dwReserved) override; |
+ HRESULT OnStart(LPCWSTR szUrl, |
+ IInternetProtocolSink* pOIProtSink, IInternetBindInfo* pOIBindInfo, |
+ DWORD grfPI, HANDLE_PTR dwReserved, |
+ IInternetProtocol* pTargetProtocol); |
+}; |
- // IInternetProtocol |
- STDMETHODIMP Read(/* [in, out] */ void *pv,/* [in] */ ULONG cb,/* [out] */ ULONG *pcbRead) override; |
+/** |
+ * Implementation of "Protocol" interfaces |
+ */ |
+class WbPassthroughProtocol |
+ : public PassthroughAPP::CInternetProtocol<WbPassthroughSinkStartPolicy> |
+{ |
+ typedef PassthroughAPP::CInternetProtocol<WbPassthroughSinkStartPolicy> BaseClass; |
+public: |
+ WbPassthroughProtocol() |
+ : m_shouldSupplyCustomContent(false) |
+ { |
+ } |
+ |
+ // derived from IInternetProtocolRoot |
+ STDMETHODIMP Start(LPCWSTR szUrl, IInternetProtocolSink* pOIProtSink, |
+ IInternetBindInfo* pOIBindInfo, DWORD grfPI, HANDLE_PTR dwReserved) override; |
+ |
+ // derived from IInternetProtocol |
+ STDMETHODIMP Read(/* [in, out] */ void* pv,/* [in] */ ULONG cb,/* [out] */ ULONG* pcbRead) override; |
bool m_shouldSupplyCustomContent; |
}; |
+ |
+typedef PassthroughAPP::CMetaFactory<PassthroughAPP::CComClassFactoryProtocol, WbPassthroughProtocol> MetaFactory; |
+ |
+ |