localisation/apparchitecture/apgrfx/APGAIR.H
branchSymbian3
changeset 57 b8d18c84f71c
parent 56 aa99f2208aad
child 58 7a02f8565ef5
--- a/localisation/apparchitecture/apgrfx/APGAIR.H	Wed Jul 28 16:03:37 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,258 +0,0 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of the License "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:
-//
-
-#if !defined(__APGAIR_H__)
-#define __APGAIR_H__
-
-#if !defined(__APAID_H__)
-#include <apaid.h>
-#endif
-#if !defined(__APMSTD_H__)
-#include <apmstd.h>
-#endif
-
-#include <barsc.h>
-#include <barsread.h>
-
-/**
-@internalComponent
-*/
-class ApaUtils
-	{
-public:
-	IMPORT_C static TBool HandleAsRegistrationFile(const TUidType& aUidType);
-	};
-
-/** The 2nd UID that defines a resource file as being an application registration resource file.
-
-@internalComponent
-*/
-const TUid KUidAppRegistrationFile ={0x101F8021};
-
-class CApaMaskedBitmap;
-class CApaAppViewData;
-class TEntry;
-class RFs;
-class CResourceFile;
-class RResourceReader;
-class CApaAppList;
-class CApaAppIconArray;
-
-/**
-@internalComponent
-*/
-
-NONSHARABLE_CLASS(CApaIconLoader) : public CBase
-	{
-public:
-	static CApaIconLoader* NewL(RFs& aFs);
-	static CApaIconLoader* NewLC(RFs& aFs);
-	~CApaIconLoader();
-
-	void AddIconArrayL(const CApaAppIconArray& aIcons);
-	void LoadAllIconsL();
-	TBool LoadIconsL(TInt aNumOfIcons, const TDesC& aMbmFileName, CArrayPtr<CApaMaskedBitmap>& aIcons);
-
-private:
-	CApaIconLoader(RFs& aFs);
-	void ConstructL();
-	TInt IconIndexL(const TDesC& aFileName, TBool& aUseCache);
-	static TInt CompareIcons(const CApaMaskedBitmap& aFirst, const CApaMaskedBitmap& aSecond);
-
-private:
-	struct TKeyValuePair
-		{
-	public:
-		HBufC* iFileName; // key
-		TInt iIndex; // value
-		};
-private:
-	RFs& iFs;
-	RArray<TKeyValuePair> iIconIndexArray;
-	TInt iCachedArrayIndex;
-	RPointerArray<CApaAppIconArray> iIconArrays;
-	};
-
-/**
-@internalComponent
-*/
-NONSHARABLE_CLASS(CApaAppIconArray) : public CBase
-	{
-public:
-	static CApaAppIconArray* NewL(); // creates a dummy icon array
-	static CApaAppIconArray* NewAppIconsL(TInt aNumOfIcons, const TDesC& aMbmFileName, CApaIconLoader& aIconLoader);
-	static CApaAppIconArray* NewViewIconsL(TInt aNumOfIcons, const TDesC& aMbmFileName, CApaIconLoader& aIconLoader);
-	static CApaAppIconArray* NewDefaultIconsL(); // creates a CApaAppIconArray that uses the default icons
-	static CApaAppIconArray* NewRealDefaultIconsLC(TInt aNumOfIcons, const TDesC& aMbmFileName, CApaIconLoader& aIconLoader); // creates the CApaAppIconArray that contains the default icons
-	~CApaAppIconArray();
-
-	TBool LoadIconsL();
-
-	CApaMaskedBitmap* IconBySize(const TSize& aSize) const;
-	CArrayFixFlat<TSize>* IconSizesL() const;
-	TInt Count() const;
-	TBool DefaultIconsUsed() const;
-	CApaMaskedBitmap* operator[](TInt aIndex) const;
-#ifdef SYMBIAN_APPARC_APPINFO_CACHE	
-	TBool AreAppIconsLoaded() const;
-	TBool AreViewIconsLoaded() const;
-#endif	// SYMBIAN_APPARC_APPINFO_CACHE
-	
-private:
-	static CApaAppIconArray* NewL(TInt aNumOfIcons, const TDesC& aMbmFileName, CApaIconLoader& aIconLoader, TBool aFallbackToDefaultIcons);
-	static CApaAppIconArray* NewLC(TInt aNumOfIcons, const TDesC& aMbmFileName, CApaIconLoader& aIconLoader, TBool aFallbackToDefaultIcons);
-	CApaAppIconArray();
-	CApaAppIconArray(TInt aNumOfIcons, CApaIconLoader& aIconLoader, TBool aFallbackToDefaultIcons);
-	void ConstructL(const TDesC& aMbmFileName);
-	void GetDefaultIconsL();
-	const CApaAppIconArray& DefaultIcons() const;
-	
-private:
-	TInt iNumOfIcons;
-	CApaIconLoader* iIconLoader;
-	TBool iFallbackToDefaultIcons;
-	HBufC* iMbmFileName;
-	TBool iDefaultIconsUsed;
-	CArrayPtrFlat<CApaMaskedBitmap>* iIcons;
-	CApaAppList* iDefaultIconsProvider;
-	};
-
-class CApaAppInfoReader : public CBase
-/**
-Abstract base class for application information readers.
-
-Concrete implementations should read information from some
-data source and implement policy specific to each reader.
-
-@internalComponent
-*/
-	{
-public:
-	~CApaAppInfoReader();
-public:
-	HBufC* AppBinaryFullName();
-	TUidType AppBinaryUidType() const;
-	TTime TimeStamp() const;
-	TTime IconFileTimeStamp() const;
-	void Capability(TDes8& aCapabilityBuf) const;
-	TUint DefaultScreenNumber() const;
-	HBufC* Caption();
-	HBufC* ShortCaption();
-	CApaAppIconArray* Icons();
-#ifdef SYMBIAN_APPARC_APPINFO_CACHE	
-	TInt NumOfAppIcons() const;
-	virtual CApaIconLoader* IconLoader() = 0;
-#else	
-	TBool DefaultIconsUsed() const;
-#endif	// SYMBIAN_APPARC_APPINFO_CACHE
-	CArrayPtrFlat<CApaAppViewData>* Views();
-	CDesCArray* OwnedFiles();
-	HBufC* IconFileName();
-	TBool NonMbmIconFile() const;
-	HBufC* LocalisableResourceFileName();
-	TTime LocalisableResourceFileTimeStamp() const;
-	TLanguage AppLanguage() const;
-	CArrayFixFlat<TApaAppServiceInfo>* ServiceArray(TInt& aIndexOfFirstOpenService);
-	HBufC8* OpaqueData();
-
-public:
-	virtual TBool Read()=0;
-protected:
-	CApaAppInfoReader(RFs& aFs, const TUid aAppUid);
-	
-protected:
-	RFs& iFs;
-	TUid iAppUid;
-	HBufC* iAppBinaryFullName;
-	TUidType iAppBinaryUidType;
-	TTime iTimeStamp;
-	TTime iIconFileTimeStamp;
-	TApaAppCapability iCapability;
-	TUint iDefaultScreenNumber;
-	HBufC* iCaption;
-	HBufC* iShortCaption;
-	CApaAppIconArray* iIcons;
-#ifdef SYMBIAN_APPARC_APPINFO_CACHE
-	TInt iNumOfAppIcons;
-#else
-	TBool iDefaultIconsUsed;
-#endif
-	CArrayPtrFlat<CApaAppViewData>* iViewDataArray;
-	CDesCArray* iOwnedFileArray;
-	HBufC* iIconFileName;
-	TBool iNonMbmIconFile; // ETrue if icon filename is not an MBM file, however, EFalse does not necessarily mean it is an MBM file
-	HBufC* iLocalisableResourceFileName;
-	TTime iLocalisableResourceFileTimeStamp;
-	TLanguage iApplicationLanguage;
-	CArrayFixFlat<TApaAppServiceInfo>* iServiceArray;
-	TInt iIndexOfFirstOpenService;
-	TBool iOpenServiceIsLegacy;
-	HBufC8* iOpaqueData;
-	};
-
-class CApaAppInfoReaderV2 : public CApaAppInfoReader
-/**
-Reads application information from a combination of registration file,
-optional localisable resource file and optional icon file.
-Application information stored in this way is referred to as version 2.
-
-@internalComponent
-*/
-	{
-public:
-#ifdef SYMBIAN_APPARC_APPINFO_CACHE
-	static CApaAppInfoReaderV2* NewL(RFs& aFs, const TDesC& aRegistrationFileName, const TUid aAppUid);
-	virtual CApaIconLoader* IconLoader();
-#else
-	static CApaAppInfoReaderV2* NewL(RFs& aFs, const TDesC& aRegistrationFileName, const TUid aAppUid,const TDesC& aDefaultAppIconFileName);
-#endif	// SYMBIAN_APPARC_APPINFO_CACHE
-	~CApaAppInfoReaderV2();
-
-public:
-	virtual TBool Read();
-	static TBool FileIsMbm(const TDesC& aFileName);
-
-private:
-#ifdef SYMBIAN_APPARC_APPINFO_CACHE
-	CApaAppInfoReaderV2(RFs& aFs, const TDesC& aRegistrationFileName, const TUid aAppUid);
-#else
-	CApaAppInfoReaderV2(RFs& aFs, const TDesC& aRegistrationFileName, const TUid aAppUid, const TDesC& aDefaultAppIconFileName);
-#endif
-	void ConstructL();
-	void ReadMandatoryInfoL(CResourceFile*& aRegistrationFile, RResourceReader& aResourceReader);
-	void ReadNonLocalisableInfoL(RResourceReader& aResourceReader, CResourceFile*& aLocalisableResourceFile, TUint& aLocalisableResourceId);
-	void ReadNonLocalisableOptionalInfoL(RResourceReader& aResourceReader, const CResourceFile* aRegistrationFile, CResourceFile* aLocalisableResourceFile);
-	void ReadDataTypesL(RResourceReader& aResourceReader, CArrayFixFlat<TDataTypeWithPriority>& aDatatypes);
-	void ReadLocalisableInfoL(const CResourceFile* aResourceFile, TUint aResourceId, TBool& aUseDefaultIcons);
-	HBufC* FullIconFileNameL(const TDesC& aIconFileName) const;
-	TBool HasWriteDeviceDataCap();
-    void ReadAppSecurityInfo();
-	
-    TBool FileIsMbmWithGenericExtensionL(const TDesC& aFileName) const;
-	static HBufC8* ReadOpaqueDataL(TUint aResourceId, const CResourceFile* aRegistrationFile, CResourceFile* aLocalisableResourceFile);
-
-private:
-	const TDesC& iRegistrationFileName;
-	TBool iHasWriteDeviceDataCap;
-    TBool iIsSidTrusted;
-    // This flag is used to determine if app security info was allready read
-    TBool iSecurityInfoHasBeenRead;
-	CApaIconLoader* iIconLoader;	
-#ifndef SYMBIAN_APPARC_APPINFO_CACHE
-	const TDesC& iDefaultAppIconFileName;
-#endif
-	};
-
-#endif