| Index: src/plugin/PluginWbPassThrough.h |
| =================================================================== |
| --- a/src/plugin/PluginWbPassThrough.h |
| +++ b/src/plugin/PluginWbPassThrough.h |
| @@ -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 |
| + HRESULT OnStart(LPCWSTR szUrl, |
| + IInternetProtocolSink *pOIProtSink, IInternetBindInfo *pOIBindInfo, |
| + DWORD grfPI, HANDLE_PTR dwReserved, |
| + IInternetProtocol* pTargetProtocol); |
| +}; |
| + |
| +/** |
| + * 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; |
| - // IInternetProtocol |
| + // 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; |
| + |
| + |