/*
* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description: operation for sending a read report
*
*/
#ifndef MMSREADREPORT_H
#define MMSREADREPORT_H
#include "mmsbaseoperation.h"
class CMmsHeaders;
/**
* Operation to send a read report.
*
* @lib mmssrv.lib
* @since v3.1
*/
NONSHARABLE_CLASS( CMmsReadReport ): public CMmsBaseOperation
{
public:
static CMmsReadReport* NewL( RFs& aFs, CMmsSettings* aMmsSettings );
virtual ~CMmsReadReport();
/**
* Failed
* @return selection of failed entries
*/
CMsvEntrySelection& Failed() const;
// from base class CMmsBaseOperation
/**
* From CMmsBaseOperation
* Start the state machine.
*
* @since v3.1
* @param aSelection list of message entry ids to be handled.
* @param aServerEntry CMsvServerEntry pointer from CMmsServer
* @param aSettings MMSC settings (entry points)
* @param aService current MMS service id
* @param aStatus TRequestStatus of the calling active object
*/
void StartL(
CMsvEntrySelection& aSelection,
CMsvServerEntry& aServerEntry,
TMsvId aService,
TRequestStatus& aStatus );
protected:
// from base class CMsgActive
/**
* From CMsgActive
* Active object cancellation.
*
* @since v3.1
*/
void DoCancel();
/**
* From CMsgActive: Complete current operation.
* Do whatever cleanup is possible. (Delete incomplete entry etc.)
* @param aError Error code received by RunL
*/
void DoComplete( TInt& aError );
// from base class CMmsBaseOperation
/**
* From CMmsBaseOperation
* Encode one read report request
*
* @since v3.1
*/
void EncodePDUL();
/**
* From CMmsBaseOperation
* Delete the handled entry
*
* @since v3.1
*/
void MoveEntryL();
private:
CMmsReadReport( RFs& aFs );
void ConstructL( CMmsSettings* aMmsSettings );
private: // data
/**
* mms headers - contain the read report data to be sent
* Own.
*/
CMmsHeaders* iMmsHeaders;
};
#endif // MMSREADREPORT_H