meetingrequest/mrutils/inc/cesmrutils.h
changeset 0 8466d47a6819
child 16 4ce476e64c59
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/meetingrequest/mrutils/inc/cesmrutils.h	Thu Dec 17 08:39:21 2009 +0200
@@ -0,0 +1,139 @@
+/*
+* Copyright (c) 2007-2009 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 CESMRUTILS_H
+#define CESMRUTILS_H
+
+//  INCLUDE FILES
+#include <e32base.h>
+#include <CMRUtils.h>
+
+// FORWARD DECLARATIONS
+class CCalEntry;
+class CMRMailboxUtils;
+class CESMRCalDbMgr;
+class CESMRPolicyManager;
+class CESMREntryProcessor;
+class MESMRTaskFactory;
+class MESMRTaskExtension;
+
+/**
+ * ECom implementation for es meeting request utilities.
+ */
+NONSHARABLE_CLASS( CESMRUtils ) :
+        public CBase,
+        public MMRUtilsObserver
+    {
+public: // Constructors and destructors
+
+    /**
+     * ECom plug-in instantiation method.
+     * @return instantiated ECom plug-in
+     */
+     IMPORT_C static CESMRUtils* NewL(
+             MMRUtilsObserver& aObserver );
+
+    /**
+     * Destructor.
+     */
+     IMPORT_C ~CESMRUtils();
+
+public: // Interface is copied from CMRUtils.h 
+    /**
+     * Deletes given aEntries from the database and possibly allows
+     * user to cancel meeting or decline participation, depending on
+     * participation type.
+     * @param aEntry entry to be deleted
+     * @param aMailbox mailbox to use for possible cancel/response
+     * @return KErrNone or a system wide error code  
+     */
+    IMPORT_C TInt DeleteWithUiL(
+            const CCalEntry& aEntry,
+            TMsvId aMailbox );
+    
+    /**
+     * Deletes given instance from the database and possibly allows
+     * user to cancel meeting or decline participation, depending on
+     * participation type.   
+     * @param aInstance instance to be deleted, ownership transferred
+     * @param aMailbox mailbox to use for possible cancel/response
+     * @return KErrNone or a system wide error code  
+     */ 
+    IMPORT_C TInt DeleteWithUiL(
+            CCalInstance* aInstance,
+            TMsvId aMailbox );
+    
+    /**
+     * Deprecated. Do not use.
+     */
+    IMPORT_C void SendWithUiL(
+            const CCalEntry& aEntry,
+            TMsvId aMailbox );
+    
+    /**
+     * Allows extending this API without breaking BC.
+     * @param aExtensionUid Extension uid
+     * @param return extension
+     */
+    IMPORT_C TAny* ExtensionL(
+            TUid aExtensionUid );
+    
+    /**        
+     * Internal template method called immediatelly after
+     * instantiation of the ECom plug-in.
+     * @param aCalSession calendar session reference
+     * @param aMsvSession, may be NULL
+     */
+    IMPORT_C void SessionSetupL(
+            CCalSession& aCalSession,
+            CMsvSession* aMsvSession );
+
+public: // From MMRUtilsObserver
+    void HandleCalEngStatus(
+            TMRUtilsCalEngStatus aStatus );
+    void HandleOperation(
+            TInt aType,
+            TInt aPercentageCompleted,
+            TInt aStatus );
+
+private: // Implementation
+    CESMRUtils( MMRUtilsObserver& aObserver );
+    void ConstructL();
+
+private: // data
+    /// Own: Cal engine status
+    TMRUtilsCalEngStatus iCalEngStatus;
+    /// Own: Pointer to ES MR UTILS cal db object
+    CESMRCalDbMgr* iCalDBMgr;
+    // Own: Meeting request mailbox utils
+    CMRMailboxUtils* iMRMailboxUtils;
+    /// Own: ESMR policy manager
+    CESMRPolicyManager* iPolicyManager;
+    /// Own: MR Entry processor
+    CESMREntryProcessor* iEntryProcessor;
+    /// Own: ES MR Task factory
+    MESMRTaskFactory* iTaskFactory;
+    /// Own: ES MR Task extension
+    MESMRTaskExtension* iTaskExtension;
+    /// Ref:
+    MMRUtilsObserver& iObserver;
+    };
+
+#endif // CESMRUTILSIMPL_H
+
+// End of File