filemanager/aiwprovider/inc/filemanageraiwprovider.h
branchRCL_3
changeset 21 65326cf895ed
parent 0 6a9f87576119
equal deleted inserted replaced
20:491b3ed49290 21:65326cf895ed
       
     1 /*
       
     2 * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0""
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  This class offers AIW services
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 
       
    20 #ifndef C_FILEMANAGERAIWPROVIDER_H
       
    21 #define C_FILEMANAGERAIWPROVIDER_H
       
    22 
       
    23 // INCLUDE FILES
       
    24 #include <e32std.h>
       
    25 #include <AiwServiceIfBase.h>
       
    26 #include <AknLaunchAppService.h>
       
    27 
       
    28 
       
    29 // CLASS DECLARATION
       
    30 /**
       
    31 *  This class offers AIW services
       
    32 *
       
    33 *  @since 5.0
       
    34 */
       
    35 NONSHARABLE_CLASS( CFileManagerAiwProvider ) :
       
    36         public CAiwServiceIfBase,
       
    37         public MAknServerAppExitObserver
       
    38     {
       
    39 public:
       
    40 
       
    41     /**
       
    42     * Two-phased constructor.
       
    43     */
       
    44     static CFileManagerAiwProvider* NewL();
       
    45 
       
    46     /**
       
    47     * Destructor.
       
    48     */
       
    49     ~CFileManagerAiwProvider();
       
    50 
       
    51 public: // From CAiwServiceIfBase
       
    52 
       
    53     void InitialiseL(
       
    54         MAiwNotifyCallback& aFrameworkCallback,
       
    55         const RCriteriaArray& aInterest );
       
    56 
       
    57     void HandleServiceCmdL(
       
    58         const TInt& aCmdId,
       
    59         const CAiwGenericParamList& aInParamList,
       
    60         CAiwGenericParamList& aOutParamList,
       
    61         TUint aCmdOptions = 0,
       
    62         const MAiwNotifyCallback* aCallback = NULL );
       
    63 
       
    64 public: // From MAknServerAppExitObserver
       
    65     void HandleServerAppExit( TInt aReason );
       
    66 
       
    67 private: // New methods
       
    68     void CmdEditL(
       
    69         const CAiwGenericParamList& aInParamList,
       
    70         const MAiwNotifyCallback* aCallback );
       
    71 
       
    72     void NotifyL( TInt aEvent );
       
    73 
       
    74     TUid GetAppUidL();
       
    75 
       
    76     TUid GetAppUid();
       
    77 
       
    78     void LaunchEmbeddedL(
       
    79         const CAiwGenericParamList& aInParamList,
       
    80         const MAiwNotifyCallback* aCallback );
       
    81 
       
    82     TBool IsStandaloneLaunch(
       
    83         const CAiwGenericParamList& aInParamList );
       
    84 
       
    85     void LaunchStandaloneL(
       
    86         const CAiwGenericParamList& aInParamList );
       
    87 
       
    88     TBool IsFolderToOpenPathGiven(
       
    89         const CAiwGenericParamList& aInParamList );
       
    90 
       
    91 private:
       
    92     /**
       
    93     * C++ default constructor.
       
    94     */
       
    95     CFileManagerAiwProvider();
       
    96 
       
    97 private: // Data
       
    98     /**
       
    99      * For launching embedded file manager
       
   100      * Own.
       
   101      */
       
   102     CAknLaunchAppService* iService;
       
   103 
       
   104     /**
       
   105      * For client notifications
       
   106      * Not own.
       
   107      */
       
   108     const MAiwNotifyCallback* iCallback;
       
   109 
       
   110     /**
       
   111      * For storing the current input params
       
   112      * Own.
       
   113      */
       
   114     CAiwGenericParamList* iInParamList;
       
   115 
       
   116     /**
       
   117      * Id of the current command
       
   118      */
       
   119     TInt iCmd;
       
   120 
       
   121     /**
       
   122      * The uid of File Manager application to be started for this service
       
   123      */
       
   124     TUid iAppUid;
       
   125 
       
   126     };
       
   127 
       
   128 #endif // C_FILEMANAGERAIWPROVIDER_H