diff -r 5cc91383ab1e -r 7333d7932ef7 secureswitools/swisistools/source/rscparser/aplappinforeader.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/secureswitools/swisistools/source/rscparser/aplappinforeader.h Tue Aug 31 15:21:33 2010 +0300 @@ -0,0 +1,111 @@ +// Copyright (c) 2009 - 2010 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: +// aplappinforeader.h +// +/** +* @file aplappinforeader.h +* +* @internalComponent +* @released +*/ +#ifndef __APLAPPINFOREADER_H__ +#define __APLAPPINFOREADER_H__ + + +#include "apaid.h" +#include +#include "apmstd.h" +#include "barsc2.h" +#include "barsread2.h" +#include "e32lang.h" +#include "aplapplistitem.h" +#include "filedescription.h" + +using namespace std; + +/** +Reads application information from a combination of registration file, +optional localisable resource file and optional icon file. + +@internalComponent +*/ +class CAppInfoReader + { +public: + static CAppInfoReader* NewL(const std::string& aRegistrationFileName, TUid aAppUid, const std::string& aLocalizeFilePath); + TBool ReadL(); + TBool ReadL(const std::vector& aFileDescription, std::string& aRomPath, int aInRom); + ~CAppInfoReader(); +public: + Ptr16* AppBinaryFullName(); + TUidType AppBinaryUidType() const; + TUid AppUid() const; + void Capability(TAppCapability& aCapabilityBuf) const; + TUint DefaultScreenNumber() const; + std::vector* Views(); + std::vector LocalizableInfo(); + std::vector GetOpaqueDataArray(); + std::vector* OwnedFiles(); + + Ptr16* Caption(); + Ptr16* ShortCaption(); + TInt NumOfAppIcons() const; + Ptr16* IconFileName(); + TBool NonMbmIconFile() const; + + Ptr16* LocalisableResourceFileName(); + TLanguage AppLanguage() const; + std::vector* ServiceArray(TInt& aIndexOfFirstOpenService); + Ptr16* CreateFullIconFileNameL(const PtrC16* aIconFileName) const; + +private: + CAppInfoReader(const std::string& aRegistrationFileName, TUid aAppUid, const std::string& aLocalizeFilePath); + void ReadMimeTypesSupportedL(RResourceReader& aResourceReader, std::vector& aMimeTypesSupported); + void ReadMandatoryInfoL(RResourceReader& aResourceReader); + TInt ReadNonLocalisableInfoL(RResourceReader& aResourceReader, TUint& aLocalisableResourceId); + TInt ReadNonLocalisableOptionalInfoL(RResourceReader& aResourceReader, CResourceFile* aRegistrationFile); + TInt ReadLocalisableInfoLoopL(CResourceFile& aResourceFile, TUint aResourceId, TBool& aUseDefaultIcons, TInt& iLocale); + void ReadOpaqueDataL(TUint aResourceId, CResourceFile* aRegistrationFile, TUint32 aServiceUid); + void ReadAppSecurityInfo(); + +private: + TUid iAppUid; + Ptr16* iAppBinaryFullName; + TUidType iAppBinaryUidType; + TAppCapability iCapability; + TUint iDefaultScreenNumber; + Ptr16* iCaption; + Ptr16* iShortCaption; + TInt iNumOfAppIcons; + std::vector* iViewDataArray; + std::vector* iOwnedFileArray; + Ptr16* iIconFileName; + TBool iNonMbmIconFile; // ETrue if icon filename is not an MBM file, however, EFalse does not necessarily mean it is an MBM file + Ptr16* iLocalisableResourceFileName; + TLanguage iApplicationLanguage; + std::vector* iServiceArray; + TInt iIndexOfFirstOpenService; + TBool iOpenServiceIsLegacy; + std::vector iOpaqueDataArray; +private: + const std::string& iRegistrationFileName; + const std::string& iDrivePath; + std::vector iAppLocalizableInfo; + TBool iHasWriteDeviceDataCap; + TBool iIsSidTrusted; + // This flag is used to determine if app security info was allready read + TBool iSecurityInfoHasBeenRead; + }; + +#endif // __APLAPPINFOREADER_H__