| 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; |
| + |
| + |