diff -r 000000000000 -r ba25891c3a9e appinstaller/AppMngr2/inc/appmngr2filerecognizer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/appinstaller/AppMngr2/inc/appmngr2filerecognizer.h Thu Dec 17 08:51:10 2009 +0200 @@ -0,0 +1,81 @@ +/* +* 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: Recognizes files to get corresponding MIME types +* +*/ + + +#ifndef C_APPMNGR2FILERECOGNIZER_H +#define C_APPMNGR2FILERECOGNIZER_H + +#include // CActive + +class CAppMngr2RecognizedFile; +class CDir; +class RFs; + + +class CAppMngr2FileRecognizer : public CActive + { +public: // constructor and destructor + static CAppMngr2FileRecognizer* NewL( RFs& aFs ); + ~CAppMngr2FileRecognizer(); + +public: // new functions + /** + * Gets the data (MIME) type for files in a specified directory. + * Works like RApaLsSession::RecognizeFilesL() except that can be used to + * recognize files in private directories too (with AllFiles capability). + * @param aPath A valid path. Note that the path must end with a backslash. + * @param aStatus A request status object. + */ + void RecognizeFilesL( const TDesC& aPath, TRequestStatus& aStatus ); + + /** + * Cancels ongoing file recognition. + */ + void CancelRecognizeFiles(); + + /** + * Returns file recognition results in array. Items can be removed + * from the array. Next call to RecognizeFilesL() resets the array. + * @return RPointerArray& Recognized files + */ + RPointerArray& Results(); + +protected: // from CActive + void DoCancel(); + void RunL(); + TInt RunError( TInt aError ); + +private: // new functions + CAppMngr2FileRecognizer( RFs& aFs ); + void RecognizeNextFileL(); + +private: // data + RFs& iFs; + TRequestStatus* iDirStatus; + HBufC* iDirPath; + CDir* iDirEntries; + TInt iIndex; + RPointerArray iResultArray; + enum TState + { + EIdle, + ERecognizing + } iState; + }; + +#endif // C_APPMNGR2FILERECOGNIZER_H +