filemanager/aiwprovider/inc/filemanageraiwprovider.h
branchRCL_3
changeset 21 65326cf895ed
parent 0 6a9f87576119
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/filemanager/aiwprovider/inc/filemanageraiwprovider.h	Wed Sep 01 12:31:07 2010 +0100
@@ -0,0 +1,128 @@
+/*
+* Copyright (c) 2008 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:  This class offers AIW services
+*
+*/
+
+
+
+#ifndef C_FILEMANAGERAIWPROVIDER_H
+#define C_FILEMANAGERAIWPROVIDER_H
+
+// INCLUDE FILES
+#include <e32std.h>
+#include <AiwServiceIfBase.h>
+#include <AknLaunchAppService.h>
+
+
+// CLASS DECLARATION
+/**
+*  This class offers AIW services
+*
+*  @since 5.0
+*/
+NONSHARABLE_CLASS( CFileManagerAiwProvider ) :
+        public CAiwServiceIfBase,
+        public MAknServerAppExitObserver
+    {
+public:
+
+    /**
+    * Two-phased constructor.
+    */
+    static CFileManagerAiwProvider* NewL();
+
+    /**
+    * Destructor.
+    */
+    ~CFileManagerAiwProvider();
+
+public: // From CAiwServiceIfBase
+
+    void InitialiseL(
+        MAiwNotifyCallback& aFrameworkCallback,
+        const RCriteriaArray& aInterest );
+
+    void HandleServiceCmdL(
+        const TInt& aCmdId,
+        const CAiwGenericParamList& aInParamList,
+        CAiwGenericParamList& aOutParamList,
+        TUint aCmdOptions = 0,
+        const MAiwNotifyCallback* aCallback = NULL );
+
+public: // From MAknServerAppExitObserver
+    void HandleServerAppExit( TInt aReason );
+
+private: // New methods
+    void CmdEditL(
+        const CAiwGenericParamList& aInParamList,
+        const MAiwNotifyCallback* aCallback );
+
+    void NotifyL( TInt aEvent );
+
+    TUid GetAppUidL();
+
+    TUid GetAppUid();
+
+    void LaunchEmbeddedL(
+        const CAiwGenericParamList& aInParamList,
+        const MAiwNotifyCallback* aCallback );
+
+    TBool IsStandaloneLaunch(
+        const CAiwGenericParamList& aInParamList );
+
+    void LaunchStandaloneL(
+        const CAiwGenericParamList& aInParamList );
+
+    TBool IsFolderToOpenPathGiven(
+        const CAiwGenericParamList& aInParamList );
+
+private:
+    /**
+    * C++ default constructor.
+    */
+    CFileManagerAiwProvider();
+
+private: // Data
+    /**
+     * For launching embedded file manager
+     * Own.
+     */
+    CAknLaunchAppService* iService;
+
+    /**
+     * For client notifications
+     * Not own.
+     */
+    const MAiwNotifyCallback* iCallback;
+
+    /**
+     * For storing the current input params
+     * Own.
+     */
+    CAiwGenericParamList* iInParamList;
+
+    /**
+     * Id of the current command
+     */
+    TInt iCmd;
+
+    /**
+     * The uid of File Manager application to be started for this service
+     */
+    TUid iAppUid;
+
+    };
+
+#endif // C_FILEMANAGERAIWPROVIDER_H