diff -r 000000000000 -r 14df0fbfcc4e sapi_messaging/messagingservice/inc/changestatus.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sapi_messaging/messagingservice/inc/changestatus.h Mon Mar 30 12:51:10 2009 +0300 @@ -0,0 +1,129 @@ +/* +* Copyright (c) 2007 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 "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: +* +*/ + + +#ifndef __CHANGESTATUS_H +#define __CHANGESTATUS_H + +/** + * This class implements ChangeStatus SAPI core logic.It includes + * methods for changing the status of message flag and deleting a message. + * + */ +class CMessageChangeStatus : public CBase +{ + + public: + + /* + * Creates a new instance of a @ref CMessageChangeStatus + * @param CMsvSession + * @return The newly created CMessageChangeStatus + */ + static CMessageChangeStatus* NewL( CMsvSession& aSession ); + + /* + * Creates a new instance of a @ref CMessageChangeStatus + * @param CMsvSession + * @return The newly created CMessageChangeStatus + */ + static CMessageChangeStatus* NewLC( CMsvSession& aSession ); + + /** + * Destructor. + */ + ~CMessageChangeStatus(); + + /** + * Deletes the message of specified ID + * @param aMsgId It is ID of message to be deleted + * @param aNotifyCallback a callback object + */ + void DeleteMessageL( const TMsvId& aMsgId ); + + /** + * Changes the message flag to the value specified + * @param aMsgId It is ID of message + * @param aStatusFlag Message status flag + * @param aValue Message status flag value + * @param aNotifyCallback a callback object + */ + void ChangeStatusL(const TMsvId& aMsgId, + const TMessageStatusFlag aStatusFlag, + const TBool aValue ); + + private: + + /** + * Default constructor. + * @param aSession It is an object of CMsvSession Class which + * represents a channel of communication between a client thread + * and the Message Server thread . + */ + CMessageChangeStatus(CMsvSession& aSession); + + /** + * Initializer + */ + void InitializeL(); + + /** + * changes the message status + */ + void ChangeStatusL(); + + /** + * completes delete request + */ + void DeleteMessageL(); + + private: + + /** + * Message server session. + */ + CMsvSession& iServerSession; + + /** + * Message ID + */ + TMsvId iMessageId; + + /** + * Message entry + */ + CMsvEntry* iEntry; + + /** + * Index entry + */ + TMsvEntry iIndexEntry; + + /** + * Message Status Flag + */ + TMessageStatusFlag iStatusFlag; + + /** + * status flag value. + */ + TBool iFlagValue; + +}; + + +#endif __CHANGESTATUS_H \ No newline at end of file