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