diff -r 2fe1408b6811 -r e1b950c65cb4 epoc32/include/http/cecomfilter.h --- a/epoc32/include/http/cecomfilter.h Tue Mar 16 16:12:26 2010 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,120 +0,0 @@ -// Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members -// which accompanies this distribution, and is available -// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. -// -// Contributors: -// -// Description: -// - - - -/** - @file CEComFilter.h - @warning : This file contains Rose Model ID comments - please do not delete -*/ - -#ifndef __CECOMFILTER_H__ -#define __CECOMFILTER_H__ - -// System includes -#include -#include -#include - -/** -The ECom filter interface UID -@publishedAll -@released -*/ -const TUid KUidFilterPluginInterface = {0x101F446D}; - - -//##ModelId=3C4C0F400280 -class CEComFilter : public CBase -/** -This class serves as the base class for ECom filter plugins. It provides minimal functionality -to simply install and destroy filters specified by their UID or data type. The RHTTPSession -passed in is passed onto the filter as a TAny* pointer and therefore must be casted back to -an RHTTPSession pointer by the filter. -@publishedAll -@released -*/ - { -public: // Methods - /** - @fn InstallFilterL(RHTTPSession aSession, const TUid aEComFilterUid) - Intended Usage: This method is used to install filters to the filter queue. The implementation - UID of the filter plugin is passed to identify the plugin that is required. - The returned pointer is not owned as the filters must be self-destroying when - they are unloaded. - @param aSession A handle to the transport session - @param aEComFilterUid The implementation UID of the plugin - @return Pointer to the newly installed plugin - @pre The session had already been setup - @post The filter(s) have been installed - */ - //##ModelId=3C4C0F4002A8 - inline static CEComFilter* InstallFilterL(RHTTPSession aSession, const TUid aEComFilterUid); - - /** - @fn InstallFilterL(RHTTPSession aSession, const TDesC8& aEComFilterDataType) - Intended Usage: This method is used to install filters to the filter queue. The implementation - UID of the filter plugin is passed to identify the plugin that is required. - The returned pointer is not owned as the filters must be self-destroying when - they are unloaded. - @param aSession A handle to the transport session - @param aEComFilterDataType A descriptor containing the datatype of the filter to load - @return Pointer to the newly installed plugin - @pre The session had already been setup - @post The filter(s) have been installed - */ - //##ModelId=3C4C0F4002AB - inline static CEComFilter* InstallFilterL(RHTTPSession aSession, const TDesC8& aEComFilterDataType); - - /** - @fn ~CEComFilter() - Intended Usage: Virtual destructor - @pre The object identified by the destructor key in iEcomDtorID exists - @post The object is destroyed - */ - //##ModelId=3C4C0F40029E - inline ~CEComFilter(); - -private: // Attributes - /// The ECom destructor key identifier - //##ModelId=3C4C0F400297 - TUid iEcomDtorID; - }; - -//---------------------------------------------------------------------------------------- - -inline CEComFilter* CEComFilter::InstallFilterL(RHTTPSession aSession, const TUid aEComFilterUid) - { - TAny* filterPlugin = REComSession::CreateImplementationL(aEComFilterUid, _FOFF(CEComFilter,iEcomDtorID), &aSession); - return REINTERPRET_CAST(CEComFilter*, filterPlugin); - } - -inline CEComFilter* CEComFilter::InstallFilterL(RHTTPSession aSession,const TDesC8& aEComFilterDataType) - { - TEComResolverParams resolverParams; - resolverParams.SetDataType(aEComFilterDataType); - // This will leave if the plugin is not found - TAny* filterPlugin = REComSession::CreateImplementationL(KUidFilterPluginInterface, - _FOFF(CEComFilter,iEcomDtorID), - &aSession, resolverParams); - return REINTERPRET_CAST(CEComFilter*, filterPlugin); - } - -inline CEComFilter::~CEComFilter() - { - REComSession::DestroyedImplementation(iEcomDtorID); - } - -#endif // __CECOMFILTER_H__