diff -r 000000000000 -r f979ecb2b13e meetingui/meetingrequestutils/inc/CMRUtilsImpl.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/meetingui/meetingrequestutils/inc/CMRUtilsImpl.h Tue Feb 02 10:12:19 2010 +0200 @@ -0,0 +1,164 @@ +/* +* Copyright (c) 2005 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: +* Implementation of CMRUtils ECom API. +* +*/ + + + +#ifndef __CMRUTILSIMPL_H__ +#define __CMRUTILSIMPL_H__ + +// INCLUDES +#include "CMRUtilsInternal.h" + +// FORWARD DECLARATIONS +class MMRUtilsCalDbMgr; +class CMRUtilsUidGenerator; +class MMRUtilsUiServices; +class CMRMailboxUtils; + +// CLASS DECLARATION + +/** +* ECom implementation for meeting request utilities. +*/ +class CMRUtilsImpl : +public CMRUtilsInternal, +public MMRUtilsObserver + { + public: // Constructors and destructors + + /** + * ECom plug-in instantiation method. + * @return instantiated ECom plug-in + */ + static CMRUtilsImpl* NewL(); + + /** + * Destructor. + */ + ~CMRUtilsImpl(); + + protected: // From CMRUtils + + TInt DeleteWithUiL( const CCalEntry& aEntry, TMsvId aMailbox ); + + TInt DeleteWithUiL( CCalInstance* aInstance, TMsvId aMailbox ); + + void SendWithUiL( const CCalEntry& aEntry, TMsvId aMailbox ); + + TAny* ExtensionL( TUid aExtensionUid ); + + void SessionSetupL( CCalSession& aCalSession, + CMsvSession* aMsvSession ); + + protected: // From CMRUtilsInternal + + TMRUtilsDbResult StoreL( CCalEntry& aCalEntry, + TBool aResurrect ); + + void DeleteL( const TDesC8& aUid ); + + void DeleteL( const TCalLocalUid& aLocalUid ); + + void DeleteL( const CCalEntry& aCalEntry ); + + void DeleteL( const CalCommon::TCalTimeRange& aCalTimeRange ); + + CCalEntryView* EntryView(); + + CCalInstanceView* InstanceView(); + + void FetchEntriesL( RPointerArray& aCalEntryArray, + const CalCommon::TCalTimeRange& aTimeRange ); + + CCalEntry* FetchEntryL( const TDesC8& aUid, + const TCalTime& aRecurrenceId ); + + TInt UpdateEntryL( const CCalEntry& aCalEntry ); + + void ResetTombsFileL(); + + void DeleteTombstonesL( const CalCommon::TCalTimeRange& aCalTimeRange ); + + TMRUtilsDbResult CheckEntryCondL( const CCalEntry& aCalEntry ); + + TInt RespondWithUiL( const RPointerArray& aEntries, + CCalAttendee::TCalStatus aStatus, + TMsvId aMailbox ); + + TInt CancelWithUiL( const RPointerArray& aEntries, + TMsvId aMailbox ); + + void ReplyToL( TMailRecipients aRecipients, + const CCalEntry& aCalEntry, + const TDesC& aSenderAddr, + TMsvId aMailbox ); + + HBufC* MailHeaderFromFieldLC( TMsvId aMessage ); + + HBufC* MailHeaderSubjectFieldLC( TMsvId aMessage ); + + protected: // From MMRUtilsObserver + + void HandleCalEngStatus( TMRUtilsCalEngStatus aStatus ); + + void HandleOperation( TInt aType, + TInt aPercentageCompleted, + TInt aStatus ); + + protected: // New functions + + void LeaveIfEngNotAvailableL() const; + + void LeaveIfUiExtNotAvailableL() const; + + protected: // Constructors and destructors + + /** + * C++ default constructor. + */ + CMRUtilsImpl(); + + /** + * Constructor, second phase. + */ + void ConstructL(); + + protected: // data + + // Cal eng status + MMRUtilsObserver::TMRUtilsCalEngStatus iCalEngStatus; + + // not own + CCalSession* iCalSession; + + //not own + CMsvSession* iMsvSession; + + // Database manager, own + MMRUtilsCalDbMgr* iCalDbMgr; + + // Ui extension, own + MMRUtilsUiServices* iUiServices; + + //Mailbox Utils, own + CMRMailboxUtils* iMRMailboxUtils; + }; + +#endif // __CMRUTILSIMPL_H__ + +// End of File