williamr@2: // Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@2: // All rights reserved. williamr@2: // This component and the accompanying materials are made available williamr@2: // 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 williamr@2: // which accompanies this distribution, and is available williamr@2: // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". williamr@2: // williamr@2: // Initial Contributors: williamr@2: // Nokia Corporation - initial contribution. williamr@2: // williamr@2: // Contributors: williamr@2: // williamr@2: // Description: williamr@2: // Local includes williamr@2: // williamr@2: // williamr@2: williamr@2: williamr@2: williamr@2: /** williamr@2: @file williamr@2: @publishedPartner williamr@2: @released williamr@2: */ williamr@2: williamr@2: // System includes williamr@2: // williamr@2: #include williamr@2: #include williamr@2: #include williamr@2: #include williamr@2: williamr@2: williamr@2: /** williamr@2: Constructor. williamr@2: */ williamr@2: inline CContentHandlerBase::CContentHandlerBase() williamr@2: : CPushHandlerBase() williamr@2: { williamr@2: } williamr@2: williamr@2: williamr@2: /** williamr@2: Destructor. williamr@2: */ williamr@2: inline CContentHandlerBase::~CContentHandlerBase() williamr@2: { williamr@2: __LOG_PTR_DEBUG("CContentHandlerBase:: Destructor Called"); williamr@2: Cancel(); williamr@2: delete iMessage; williamr@2: } williamr@2: williamr@2: williamr@2: /** williamr@2: Finds and instantiates an ECom WAP Push Content Handler plug-in that matches williamr@2: the specified media type. williamr@2: williamr@2: @param aMatchData williamr@2: Media type. williamr@2: williamr@2: @return williamr@2: WAP Push plug-in that handles the specified media type. williamr@2: */ williamr@2: inline CContentHandlerBase* CContentHandlerBase::NewL(const TDesC& aMatchData) williamr@2: { williamr@2: // Call base class interface CPushHandlerBase::NewL() williamr@2: return REINTERPRET_CAST(CContentHandlerBase*, williamr@2: CPushHandlerBase::NewL(aMatchData, KUidPushContentHandlerBase)); williamr@2: } williamr@2: williamr@2: williamr@2: /** williamr@2: Sets a parent message server entry for any output to be saved in the message williamr@2: server. williamr@2: williamr@2: @param aParentID williamr@2: ID of the parent message server entry. This is stored in iParentID. williamr@2: */ williamr@2: inline void CContentHandlerBase::SetParent(TMsvId aParentID) williamr@2: { williamr@2: iParentID = aParentID; williamr@2: } williamr@2: williamr@2: williamr@2: /** williamr@2: Provides clean-up for the plug-in. williamr@2: williamr@2: A derived class calls this when handling of the message is complete: it deletes williamr@2: the plug-in, and if the asynchronous request iAcknowledge flag is set, sets williamr@2: the status with the passed error code. williamr@2: williamr@2: @param aError williamr@2: Error code. williamr@2: */ williamr@2: inline void CContentHandlerBase::Complete(TInt aError) williamr@2: { williamr@2: __LOG_PTR_DEBUG("CContentHandlerPluginBase:: Complete Called"); williamr@2: if (iAcknowledge) williamr@2: SignalConfirmationStatus(aError); williamr@2: iPluginKiller->KillPushPlugin(); williamr@2: } williamr@2: williamr@2: williamr@2: /** williamr@2: Utility that completes this active object with KErrNone. williamr@2: */ williamr@2: inline void CContentHandlerBase::IdleComplete() williamr@2: { williamr@2: TRequestStatus* pS = &iStatus; williamr@2: User::RequestComplete(pS,KErrNone); williamr@2: SetActive(); williamr@2: }