--- /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 <vector>
+#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<FileDescription*>& 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<CAppViewData*>* Views();
+ std::vector<CAppLocalizableInfo*> LocalizableInfo();
+ std::vector<CAppLocalOpaqueDataInfo*> GetOpaqueDataArray();
+ std::vector<Ptr16*>* OwnedFiles();
+
+ Ptr16* Caption();
+ Ptr16* ShortCaption();
+ TInt NumOfAppIcons() const;
+ Ptr16* IconFileName();
+ TBool NonMbmIconFile() const;
+
+ Ptr16* LocalisableResourceFileName();
+ TLanguage AppLanguage() const;
+ std::vector<TAppServiceInfo*>* 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<TDataTypeWithPriority*>& 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<CAppViewData*>* iViewDataArray;
+ std::vector<Ptr16*>* 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<TAppServiceInfo*>* iServiceArray;
+ TInt iIndexOfFirstOpenService;
+ TBool iOpenServiceIsLegacy;
+ std::vector<CAppLocalOpaqueDataInfo*> iOpaqueDataArray;
+private:
+ const std::string& iRegistrationFileName;
+ const std::string& iDrivePath;
+ std::vector<CAppLocalizableInfo*> iAppLocalizableInfo;
+ TBool iHasWriteDeviceDataCap;
+ TBool iIsSidTrusted;
+ // This flag is used to determine if app security info was allready read
+ TBool iSecurityInfoHasBeenRead;
+ };
+
+#endif // __APLAPPINFOREADER_H__