appfw/apparchitecture/aplist/aplappinforeader.h
branchRCL_3
changeset 62 924385140d98
parent 0 2e3d3ce01487
child 63 c2c61fdca848
equal deleted inserted replaced
58:0818dd463d41 62:924385140d98
     1 // Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
     1 // Copyright (c) 2004-2010 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     3 // This component and the accompanying materials are made available
     4 // under the terms of "Eclipse Public License v1.0"
     4 // under the terms of "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
    24 #include <apmstd.h>
    24 #include <apmstd.h>
    25 #include <barsc.h>
    25 #include <barsc.h>
    26 #include <barsread.h>
    26 #include <barsread.h>
    27 #include <apgicnfl.h>
    27 #include <apgicnfl.h>
    28 
    28 
       
    29 #ifdef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK
       
    30 #include <usif/scr/scr.h>
       
    31 #include <usif/scr/appregentries.h>
       
    32 #endif
       
    33 
    29 class TEntry;
    34 class TEntry;
    30 class RFs;
    35 class RFs;
    31 class CResourceFile;
    36 class CResourceFile;
    32 class RResourceReader;
    37 class RResourceReader;
    33 class CApaAppList;
    38 class CApaAppList;
    34 class CApaAppIconArray;
    39 class CApaAppIconArray;
    35 class CApaAppViewData;
    40 class CApaAppViewData;
    36 
    41 
       
    42 #ifndef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK
    37 /**
    43 /**
    38 @internalComponent
    44 @internalComponent
    39 */
    45 */
    40 NONSHARABLE_CLASS(ApaUtils)
    46 NONSHARABLE_CLASS(ApaUtils)
    41 	{
    47 	{
    42 public:
    48 public:
    43 	static TBool TypeUidIsForRegistrationFile(const TUidType& aUidType);
    49 	static TBool TypeUidIsForRegistrationFile(const TUidType& aUidType);
    44 	};
    50 	};
    45 
    51 #endif
    46 
    52 
    47 /**
    53 /**
    48 @internalComponent
    54 @internalComponent
    49 */
    55 */
    50 NONSHARABLE_CLASS(CApaIconLoader) : public CBase
    56 NONSHARABLE_CLASS(CApaIconLoader) : public CBase
   124 @internalComponent
   130 @internalComponent
   125 */
   131 */
   126 class CApaAppInfoReader : public CBase
   132 class CApaAppInfoReader : public CBase
   127 	{
   133 	{
   128 public:
   134 public:
   129 	static CApaAppInfoReader* NewL(RFs& aFs, const TDesC& aRegistrationFileName, TUid aAppUid);
   135 #ifdef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK
   130 	TBool ReadL();
   136     static CApaAppInfoReader* NewL(RFs& aFs, const Usif::CApplicationRegistrationData& aAppInfo, const Usif::RSoftwareComponentRegistry& aScr); 
       
   137 #else
       
   138     static CApaAppInfoReader* NewL(RFs& aFs, const TDesC& aRegistrationFileName, TUid aAppUid);
       
   139     HBufC* LocalisableResourceFileName();
       
   140     TTime LocalisableResourceFileTimeStamp() const; 
       
   141     TTime TimeStamp() const;
       
   142     TTime IconFileTimeStamp() const;   
       
   143 #endif
       
   144     TBool ReadL();    
   131     static TBool FileIsMbmWithGenericExtensionL(const TDesC& aFileName);
   145     static TBool FileIsMbmWithGenericExtensionL(const TDesC& aFileName);
   132 	~CApaAppInfoReader();
   146 	~CApaAppInfoReader();
   133 public:
   147 public:
   134 	HBufC* AppBinaryFullName();
   148 	HBufC* AppBinaryFullName();
   135 	TUidType AppBinaryUidType() const;
   149 	TUidType AppBinaryUidType() const;
   143 	TInt NumOfAppIcons() const;
   157 	TInt NumOfAppIcons() const;
   144 	CApaAppIconArray* Icons();
   158 	CApaAppIconArray* Icons();
   145 	HBufC* IconFileName();
   159 	HBufC* IconFileName();
   146 	TBool NonMbmIconFile() const;
   160 	TBool NonMbmIconFile() const;
   147 	CApaIconLoader* IconLoader();
   161 	CApaIconLoader* IconLoader();
   148 	
       
   149 	TTime TimeStamp() const;
       
   150 	TTime IconFileTimeStamp() const;
       
   151 	
       
   152 	HBufC* LocalisableResourceFileName();
       
   153 	TTime LocalisableResourceFileTimeStamp() const;
       
   154 	TLanguage AppLanguage() const;
   162 	TLanguage AppLanguage() const;
   155 	CArrayFixFlat<TApaAppServiceInfo>* ServiceArray(TInt& aIndexOfFirstOpenService);
   163 	CArrayFixFlat<TApaAppServiceInfo>* ServiceArray(TInt& aIndexOfFirstOpenService);
   156 	HBufC8* OpaqueData();
   164 	HBufC8* OpaqueData();
   157 private:
   165 	
   158 	CApaAppInfoReader(RFs& aFs, const TDesC& aRegistrationFileName, TUid aAppUid);
   166 private:
       
   167 #ifdef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK
       
   168 	CApaAppInfoReader(RFs& aFs, const Usif::CApplicationRegistrationData& aAppInfo, const Usif::RSoftwareComponentRegistry& aScr);
       
   169     void ReadAppRegistrationInfoL();
       
   170     void ReadServiceInfoL(const RPointerArray<Usif::CServiceInfo>& aServiceInfo);    
       
   171     void ReadOwnedFilesInfoL(const RPointerArray<HBufC>& aOwnedFiles);
       
   172     void ReadMimeTypesSupportedL(const RPointerArray<Usif::CDataType>& dataTypes, CArrayFixFlat<TDataTypeWithPriority>& aMimeTypesSupported);    
       
   173     void ReadLocalisationInfoL();
       
   174     void ReadViewInfoL(const RPointerArray<Usif::CAppViewData>& aViewData);    
       
   175 #ifdef APPARC_SHOW_TRACE   
       
   176     void DisplayAppInfo();
       
   177 #endif
       
   178     
       
   179 #else
       
   180     CApaAppInfoReader(RFs& aFs, const TDesC& aRegistrationFileName, TUid aAppUid);
       
   181     void ReadMandatoryInfoL(RResourceReader& aResourceReader);
       
   182     void ReadNonLocalisableInfoL(RResourceReader& aResourceReader, CResourceFile*& aLocalisableResourceFile, TUint& aLocalisableResourceId);
       
   183     void ReadNonLocalisableOptionalInfoL(RResourceReader& aResourceReader, const CResourceFile* aRegistrationFile, CResourceFile* aLocalisableResourceFile);
       
   184     void ReadMimeTypesSupportedL(RResourceReader& aResourceReader, CArrayFixFlat<TDataTypeWithPriority>& aMimeTypesSupported);       
       
   185     void ReadLocalisableInfoL(const CResourceFile& aResourceFile, TUint aResourceId, TBool& aUseDefaultIcons);
       
   186     HBufC* CreateFullIconFileNameL(const TDesC& aIconFileName) const;    
       
   187 #endif
   159 	void ConstructL();
   188 	void ConstructL();
   160 	void ReadMandatoryInfoL(RResourceReader& aResourceReader);
       
   161 	void ReadNonLocalisableInfoL(RResourceReader& aResourceReader, CResourceFile*& aLocalisableResourceFile, TUint& aLocalisableResourceId);
       
   162 	void ReadNonLocalisableOptionalInfoL(RResourceReader& aResourceReader, const CResourceFile* aRegistrationFile, CResourceFile* aLocalisableResourceFile);
       
   163 	void ReadMimeTypesSupportedL(RResourceReader& aResourceReader, CArrayFixFlat<TDataTypeWithPriority>& aMimeTypesSupported);
       
   164 	void ReadLocalisableInfoL(const CResourceFile& aResourceFile, TUint aResourceId, TBool& aUseDefaultIcons);
       
   165 	HBufC* CreateFullIconFileNameL(const TDesC& aIconFileName) const;
       
   166 	TBool HasWriteDeviceDataCap();
   189 	TBool HasWriteDeviceDataCap();
   167     void ReadAppSecurityInfo();
   190     void ReadAppSecurityInfo();
   168 	
       
   169 	static HBufC8* ReadOpaqueDataL(TUint aResourceId, const CResourceFile* aRegistrationFile, CResourceFile* aLocalisableResourceFile);
   191 	static HBufC8* ReadOpaqueDataL(TUint aResourceId, const CResourceFile* aRegistrationFile, CResourceFile* aLocalisableResourceFile);
   170 private:
   192 private:
   171 	RFs& iFs;
   193 	RFs& iFs;
   172 	TUid iAppUid;
   194 	TUid iAppUid;
   173 	HBufC* iAppBinaryFullName;
   195 	HBufC* iAppBinaryFullName;
   174 	TUidType iAppBinaryUidType;
   196 	TUidType iAppBinaryUidType;
   175 	TTime iTimeStamp;
       
   176 	TTime iIconFileTimeStamp;
       
   177 	TApaAppCapability iCapability;
   197 	TApaAppCapability iCapability;
   178 	TUint iDefaultScreenNumber;
   198 	TUint iDefaultScreenNumber;
   179 	HBufC* iCaption;
   199 	HBufC* iCaption;
   180 	HBufC* iShortCaption;
   200 	HBufC* iShortCaption;
   181 	CApaAppIconArray* iIcons;
   201 	CApaAppIconArray* iIcons;
   182 	TInt iNumOfAppIcons;
   202 	TInt iNumOfAppIcons;
   183 	CArrayPtrFlat<CApaAppViewData>* iViewDataArray;
   203 	CArrayPtrFlat<CApaAppViewData>* iViewDataArray;
   184 	CDesCArray* iOwnedFileArray;
   204 	CDesCArray* iOwnedFileArray;
   185 	HBufC* iIconFileName;
   205 	HBufC* iIconFileName;
   186 	TBool iNonMbmIconFile; // ETrue if icon filename is not an MBM file, however, EFalse does not necessarily mean it is an MBM file
   206 	TBool iNonMbmIconFile; // ETrue if icon filename is not an MBM file, however, EFalse does not necessarily mean it is an MBM file
   187 	HBufC* iLocalisableResourceFileName;
       
   188 	TTime iLocalisableResourceFileTimeStamp;
       
   189 	TLanguage iApplicationLanguage;
   207 	TLanguage iApplicationLanguage;
   190 	CArrayFixFlat<TApaAppServiceInfo>* iServiceArray;
   208 	CArrayFixFlat<TApaAppServiceInfo>* iServiceArray;
   191 	TInt iIndexOfFirstOpenService;
   209     TInt iIndexOfFirstOpenService; 	
   192 	TBool iOpenServiceIsLegacy;
       
   193 	HBufC8* iOpaqueData;
   210 	HBufC8* iOpaqueData;
   194 private:
   211 private:
   195 	const TDesC& iRegistrationFileName;
       
   196 	TBool iHasWriteDeviceDataCap;
   212 	TBool iHasWriteDeviceDataCap;
   197     TBool iIsSidTrusted;
   213     TBool iIsSidTrusted;
   198     // This flag is used to determine if app security info was allready read
   214     // This flag is used to determine if app security info was allready read
   199     TBool iSecurityInfoHasBeenRead;
   215     TBool iSecurityInfoHasBeenRead;
   200 	CApaIconLoader* iIconLoader;	
   216 	CApaIconLoader* iIconLoader;
       
   217 #ifdef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK
       
   218 	const Usif::CApplicationRegistrationData& iAppInfo; //The ownership is not taken	
       
   219 	const Usif::RSoftwareComponentRegistry& iScr; //The ownership is not taken	
       
   220 #else
       
   221     const TDesC& iRegistrationFileName;
       
   222     TTime iTimeStamp;
       
   223     TTime iIconFileTimeStamp;   
       
   224     HBufC* iLocalisableResourceFileName;
       
   225     TTime iLocalisableResourceFileTimeStamp; 
       
   226     TBool iOpenServiceIsLegacy;   
       
   227 #endif
       
   228 	
   201 	};
   229 	};
   202 
   230 
   203 
   231 
   204 #endif	// __APLAPPINFOREADER_H__
   232 #endif	// __APLAPPINFOREADER_H__