diff -r 000000000000 -r 72b543305e3a mmsengine/mmsserver/inc/mmsdeleteoperation.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmsengine/mmsserver/inc/mmsdeleteoperation.h Thu Dec 17 08:44:11 2009 +0200 @@ -0,0 +1,181 @@ +/* +* Copyright (c) 2004 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: +* State machine for sending a delete request to network +* +*/ + + + +#ifndef MMSDELETEOPERATION_H +#define MMSDELETEOPERATION_H + +// INCLUDES + +#include "mmsbaseoperation.h" + +// CONSTANTS + +// MACROS + +// DATA TYPES + +// FUNCTION PROTOTYPES + +// FORWARD DECLARATIONS +class CMmsHeaders; +class CMmsEncode; +class CMmsDecode; +class CLogClient; +class CLogViewEvent; +class CLogEvent; +class CMmsLog; + +// CLASS DECLARATION + +/** +* State machine for sending forward request +*/ +class CMmsDeleteOperation :public CMmsBaseOperation + { + public: // Constructors and destructor + + /** + * Two-phased constructor. + * @param aFs file system session + * @param aLogClient log client for writing into log + * @param aLogEvent log event for writing entries into log + */ + static CMmsDeleteOperation* NewL( RFs& aFs, CMmsSettings* aMmsSettings ); + + /** + * Destructor. + */ + virtual ~CMmsDeleteOperation(); + + public: // New functions + + /** + * Start the state machine. + * @param aDeleteType specifies the scope of the notification delete + * @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( + TMmsDeleteOperationType aDeleteType, + CMsvEntrySelection& aSelection, + CMsvServerEntry& aServerEntry, + TMsvId aService, + TRequestStatus& aStatus ); + + public: // Functions from base classes + + /** + * Overriding the StartL of the base operation + * This should not be called with DeleteOperation. + * Leaves with Not implemented + */ + void StartL( + CMsvEntrySelection& aSelection, + CMsvServerEntry& aServerEntry, + TMsvId aService, + TRequestStatus& aStatus ); + + protected: // New functions + + protected: // Functions from base classes + + /** + * DoCancel + */ + virtual void DoCancel(); + + private: + + /** + * Default constructor + */ + CMmsDeleteOperation( RFs& aFs ); + + /** + * By default Symbian OS constructor is private. + */ + void ConstructL( CMmsSettings* aMmsSettings ); + + // We don't need to prohibit copy & assignment constructors here, + // as they are in CBase already + + private: // Methods representing states that are overriden + + /** + * Encode one message + */ + void EncodePDUL(); + + /** + * Connect to GPRS AP + */ + void ConnectToIAPL(); + + /** + * Initialize the session + */ + void InitializeSessionL(); + + /** + * Submit transaction + */ + void SubmitTransactionL(); + + /** + * Decode Response + */ + void DecodeResponseL(); + + /** + * Update the trigger entry status + */ + void UpdateEntryStatusL(); + + private: // Other private methods + + /** + * DeleteNotificationEntryL deletes the entry + */ + void DeleteNotificationEntryL(); + + /** + * MarkSelectionAsFailed clears the flags of all the entries in iSelection + */ + void MarkSelectionAsFailed(); + + public: // Data + + protected: // Data + + private: // Data + TMmsDeleteOperationType iDeleteType; // specifies the type of the delete operation + CMmsHeaders* iMmsRequestHeaders; // request PDU + + public: // Friend classes + protected: // Friend classes + private: // Friend classes + }; + +#endif // MMSDELETEOPERATION_H + +// End of File