| OLD | NEW | 
|---|
| 1 // Copyright 2007 Igor Tandetnik | 1 // Copyright 2007 Igor Tandetnik | 
| 2 // | 2 // | 
| 3 // Licensed under the Apache License, Version 2.0 (the "License"); | 3 // Licensed under the Apache License, Version 2.0 (the "License"); | 
| 4 // you may not use this file except in compliance with the License. | 4 // you may not use this file except in compliance with the License. | 
| 5 // You may obtain a copy of the License at | 5 // You may obtain a copy of the License at | 
| 6 // | 6 // | 
| 7 //    http://www.apache.org/licenses/LICENSE-2.0 | 7 //    http://www.apache.org/licenses/LICENSE-2.0 | 
| 8 // | 8 // | 
| 9 // Unless required by applicable law or agreed to in writing, software | 9 // Unless required by applicable law or agreed to in writing, software | 
| 10 // distributed under the License is distributed on an "AS IS" BASIS, | 10 // distributed under the License is distributed on an "AS IS" BASIS, | 
| (...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 242     CComPtr<IInternetProtocol> m_spInternetProtocol; | 242     CComPtr<IInternetProtocol> m_spInternetProtocol; | 
| 243     CComPtr<IInternetProtocolInfo> m_spInternetProtocolInfo; | 243     CComPtr<IInternetProtocolInfo> m_spInternetProtocolInfo; | 
| 244     CComPtr<IInternetPriority> m_spInternetPriority; | 244     CComPtr<IInternetPriority> m_spInternetPriority; | 
| 245     CComPtr<IInternetThreadSwitch> m_spInternetThreadSwitch; | 245     CComPtr<IInternetThreadSwitch> m_spInternetThreadSwitch; | 
| 246     CComPtr<IWinInetInfo> m_spWinInetInfo; | 246     CComPtr<IWinInetInfo> m_spWinInetInfo; | 
| 247     CComPtr<IWinInetHttpInfo> m_spWinInetHttpInfo; | 247     CComPtr<IWinInetHttpInfo> m_spWinInetHttpInfo; | 
| 248   }; | 248   }; | 
| 249 | 249 | 
| 250   class ATL_NO_VTABLE IInternetProtocolSinkImpl : | 250   class ATL_NO_VTABLE IInternetProtocolSinkImpl : | 
| 251     public IInternetProtocolSink, | 251     public IInternetProtocolSink, | 
| 252     public IServiceProvider, | 252     public IServiceProvider | 
| 253     public IInternetBindInfo |  | 
| 254   { | 253   { | 
| 255   public: | 254   public: | 
| 256     HRESULT OnStart(LPCWSTR szUrl, IInternetProtocolSink *pOIProtSink, | 255     HRESULT OnStart(LPCWSTR szUrl, IInternetProtocolSink *pOIProtSink, | 
| 257       IInternetBindInfo *pOIBindInfo, DWORD grfPI, DWORD dwReserved, | 256       IInternetBindInfo *pOIBindInfo, DWORD grfPI, DWORD dwReserved, | 
| 258       IInternetProtocol* pTargetProtocol); | 257       IInternetProtocol* pTargetProtocol); | 
| 259     void ReleaseAll(); | 258     void ReleaseAll(); | 
| 260 | 259 | 
| 261     DECLARE_GET_TARGET_UNKNOWN(m_spInternetProtocolSink) | 260     DECLARE_GET_TARGET_UNKNOWN(m_spInternetProtocolSink) | 
| 262 | 261 | 
| 263     IServiceProvider* GetClientServiceProvider(); | 262     IServiceProvider* GetClientServiceProvider(); | 
| (...skipping 30 matching lines...) Expand all  Loading... | 
| 294       /* [in] */ HRESULT hrResult, | 293       /* [in] */ HRESULT hrResult, | 
| 295       /* [in] */ DWORD dwError, | 294       /* [in] */ DWORD dwError, | 
| 296       /* [in] */ LPCWSTR szResult); | 295       /* [in] */ LPCWSTR szResult); | 
| 297 | 296 | 
| 298     // IServiceProvider | 297     // IServiceProvider | 
| 299     STDMETHODIMP QueryService( | 298     STDMETHODIMP QueryService( | 
| 300       /* [in] */ REFGUID guidService, | 299       /* [in] */ REFGUID guidService, | 
| 301       /* [in] */ REFIID riid, | 300       /* [in] */ REFIID riid, | 
| 302       /* [out] */ void** ppvObject); | 301       /* [out] */ void** ppvObject); | 
| 303 | 302 | 
| 304     // IInternetBindInfo |  | 
| 305     STDMETHODIMP GetBindInfo( |  | 
| 306       /* [out] */ DWORD *grfBINDF, |  | 
| 307       /* [in, out] */ BINDINFO *pbindinfo); |  | 
| 308 |  | 
| 309     STDMETHODIMP GetBindString( |  | 
| 310       /* [in] */ ULONG ulStringType, |  | 
| 311       /* [in, out] */ LPOLESTR *ppwzStr, |  | 
| 312       /* [in] */ ULONG cEl, |  | 
| 313       /* [in, out] */ ULONG *pcElFetched); |  | 
| 314   public: | 303   public: | 
| 315     CComPtr<IInternetProtocolSink> m_spInternetProtocolSink; | 304     CComPtr<IInternetProtocolSink> m_spInternetProtocolSink; | 
| 316     CComPtr<IServiceProvider> m_spServiceProvider; | 305     CComPtr<IServiceProvider> m_spServiceProvider; | 
| 317     CComPtr<IInternetBindInfo> m_spInternetBindInfo; |  | 
| 318 |  | 
| 319     CComPtr<IInternetProtocol> m_spTargetProtocol; | 306     CComPtr<IInternetProtocol> m_spTargetProtocol; | 
| 320   }; | 307   }; | 
| 321 | 308 | 
| 322   template <class ThreadModel = CComSingleThreadModel> | 309   template <class ThreadModel = CComSingleThreadModel> | 
| 323   class CInternetProtocolSinkTM : | 310   class CInternetProtocolSinkTM : | 
| 324     public CComObjectRootEx<ThreadModel>, | 311     public CComObjectRootEx<ThreadModel>, | 
| 325     public IInternetProtocolSinkImpl | 312     public IInternetProtocolSinkImpl | 
| 326   { | 313   { | 
| 327   public: | 314   public: | 
| 328     BEGIN_COM_MAP(CInternetProtocolSinkTM) | 315     BEGIN_COM_MAP(CInternetProtocolSinkTM) | 
| 329       COM_INTERFACE_ENTRY(IInternetProtocolSink) | 316       COM_INTERFACE_ENTRY(IInternetProtocolSink) | 
| 330       COM_INTERFACE_ENTRY_PASSTHROUGH(IServiceProvider, | 317       COM_INTERFACE_ENTRY_PASSTHROUGH(IServiceProvider, | 
| 331       m_spServiceProvider.p) | 318       m_spServiceProvider.p) | 
| 332       COM_INTERFACE_ENTRY(IInternetBindInfo) |  | 
| 333       COM_INTERFACE_ENTRY_PASSTHROUGH_DEBUG() | 319       COM_INTERFACE_ENTRY_PASSTHROUGH_DEBUG() | 
| 334     END_COM_MAP() | 320     END_COM_MAP() | 
| 335   }; | 321   }; | 
| 336 | 322 | 
| 337   typedef CInternetProtocolSinkTM<> CInternetProtocolSink; | 323   typedef CInternetProtocolSinkTM<> CInternetProtocolSink; | 
| 338 | 324 | 
| 339   template <class T, class ThreadModel = CComSingleThreadModel> | 325   template <class T, class ThreadModel = CComSingleThreadModel> | 
| 340   class CInternetProtocolSinkWithSP : | 326   class CInternetProtocolSinkWithSP : | 
| 341     public CInternetProtocolSinkTM<ThreadModel> | 327     public CInternetProtocolSinkTM<ThreadModel> | 
| 342   { | 328   { | 
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 454       IInternetBindInfo *pOIBindInfo, DWORD grfPI, HANDLE_PTR dwReserved); | 440       IInternetBindInfo *pOIBindInfo, DWORD grfPI, HANDLE_PTR dwReserved); | 
| 455 | 441 | 
| 456     STDMETHODIMP Read(  /* [in, out] */ void *pv,/* [in] */ ULONG cb,/* [out] */
      ULONG *pcbRead); | 442     STDMETHODIMP Read(  /* [in, out] */ void *pv,/* [in] */ ULONG cb,/* [out] */
      ULONG *pcbRead); | 
| 457   }; | 443   }; | 
| 458 | 444 | 
| 459 } // end namespace PassthroughAPP | 445 } // end namespace PassthroughAPP | 
| 460 | 446 | 
| 461 #include "ProtocolImpl.inl" | 447 #include "ProtocolImpl.inl" | 
| 462 | 448 | 
| 463 #endif // PASSTHROUGHAPP_PROTOCOLIMPL_H | 449 #endif // PASSTHROUGHAPP_PROTOCOLIMPL_H | 
| OLD | NEW | 
|---|