/*
* 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