Swi::CSisRegistryObject Class Reference

class Swi::CSisRegistryObject : public Swi::CSisRegistryToken

Contains all the information about an installed package.

This class stores all the information about a package in the registry to facilitate memory scaling problem CSisRegistryObject is a specialisation of CSisRegistryToken which in turn inherits from CSisRegistryPackage. The reason for this orgainisation is that whilst a package is the main identification element still is useful to store some general information in RAM in order to be easily accessible in general searches

Inherits from

Public Member Functions
~CSisRegistryObject()
TBool DeletablePreInstalled()
IMPORT_C voidDependsOnL(RPointerArray< CSisRegistryDependency > &)
IMPORT_C TBoolDependsOnObject(const CSisRegistryObject &)
IMPORT_C CSisRegistryPackage *EmbeddedPackage(TInt)
IMPORT_C voidEmbeddedPackagesL(RPointerArray< CSisRegistryPackage > &)
IMPORT_C TBoolEmbedsPackage(const CSisRegistryPackage &)
IMPORT_C voidExternalizeL(RWriteStream &)
IMPORT_C const CSisRegistryFileDescription &FileDescriptionL(const TDesC &)
IMPORT_C const CSisRegistryFileDescription &FileDescriptionL(TUid)
RPointerArray< CSisRegistryFileDescription > &FileDescriptions()
RPointerArray< HBufC > &GetLocalizedPackageNamesArray()
RPointerArray< HBufC > &GetLocalizedVendorNamesArray()
RArray< TInt > &GetSupportedLanguageIdsArray()
TBool InRom()
IMPORT_C const RArray< TInt > &InstallChainIndicies()
Sis::TInstallType InstallType()
IMPORT_C voidInternalizeL(RReadStream &)
TBool IsPreinstalled(Sis::TInstallType)
TBool IsRemovable()
TBool IsSigned()
TBool IsSignedBySuCert()
IMPORT_C CSisRegistryObject *NewL()
IMPORT_C CSisRegistryObject *NewL(RReadStream &)
IMPORT_C CSisRegistryObject *NewLC()
IMPORT_C CSisRegistryObject *NewLC(RReadStream &)
TBool PreInstalled()
voidProcessApplicationL(const CApplication &, const TDesC8 &)
IMPORT_C voidProcessInRomControllerL(const Swi::Sis::CController &, const TDesC8 &)
IMPORT_C TIntProperty(TInt)
IMPORT_C TIntRemoveWithLastDependent()
IMPORT_C voidSetRemoveWithLastDependent()
IMPORT_C voidSetTrustStatus(const TSisTrustStatus &)
IMPORT_C TInt64SizeL()
TSisPackageTrust Trust()
IMPORT_C const TSisTrustStatus &TrustStatus()
TTime TrustTimeStamp()
voidUpgradeApplicationL(const CApplication &, const TDesC8 &)
const TDesC &VendorLocalizedName()
Private Member Functions
voidAddFilesL(const CApplication &)
voidConstructL()
voidConstructL(RReadStream &)
voidConvertTrustToTrustStatus(const TSisPackageTrust &, TSisTrustStatus &)
voidPopulateLocalizedPackageAndVendorNamesL(const CApplication &)
voidRemoveFilesL(const CApplication &)
voidStoreControllerInfoL(const CMessageDigest &, const Sis::CVersion &)
voidStoreDependenciesL(const Sis::CController &)
voidStorePropertiesL(const Sis::CController &)
voidUpdateDrivesL()
voidUpdateEmbeddedAppsL(const CApplication &)
voidUpdateLocalizedInfoL()
TInt UserSelectedLanguageIndexL(const CApplication &)
Inherited Functions
CBase::CBase()
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
Swi::CSisRegistryPackage::CSisRegistryPackage()
Swi::CSisRegistryPackage::CSisRegistryPackage(TUid)
Swi::CSisRegistryPackage::ConstructL(const CSisRegistryPackage &)
Swi::CSisRegistryPackage::ConstructL(const TDesC &,const TDesC &)
Swi::CSisRegistryPackage::Index()const
Swi::CSisRegistryPackage::Name()const
Swi::CSisRegistryPackage::NewL(TUid,const TDesC &,const TDesC &)
Swi::CSisRegistryPackage::NewL(const CSisRegistryPackage &)
Swi::CSisRegistryPackage::NewLC(TUid,const TDesC &,const TDesC &)
Swi::CSisRegistryPackage::NewLC(const CSisRegistryPackage &)
Swi::CSisRegistryPackage::SetIndex(const TInt)
Swi::CSisRegistryPackage::SetNameL(const TDesC &)
Swi::CSisRegistryPackage::Uid()const
Swi::CSisRegistryPackage::Vendor()const
Swi::CSisRegistryPackage::operator==(const CSisRegistryPackage &)const
Swi::CSisRegistryPackage::~CSisRegistryPackage()
Swi::CSisRegistryToken::AddRemovableDrive(TInt)
Swi::CSisRegistryToken::CSisRegistryToken()
Swi::CSisRegistryToken::ConstructL(const CSisRegistryToken &)
Swi::CSisRegistryToken::ControllerInfo()const
Swi::CSisRegistryToken::Drives()const
Swi::CSisRegistryToken::Language()const
Swi::CSisRegistryToken::NewL(const CSisRegistryToken &)
Swi::CSisRegistryToken::NewLC(const CSisRegistryToken &)
Swi::CSisRegistryToken::PresentState()const
Swi::CSisRegistryToken::RemoveRemovableDrive(TInt)
Swi::CSisRegistryToken::SelectedDrive()const
Swi::CSisRegistryToken::SetCurrentDrives(TUint)
Swi::CSisRegistryToken::SetFixedDrives(TUint)
Swi::CSisRegistryToken::SidPresent(TUid)const
Swi::CSisRegistryToken::Sids()const
Swi::CSisRegistryToken::Version()const
Swi::CSisRegistryToken::~CSisRegistryToken()
Inherited Enumerations
Swi::CSisRegistryPackage:@43
Private Attributes
TBool iDeletablePreInstalled
RPointerArray< CSisRegistryDependency >iDependencies
RPointerArray< CSisRegistryPackage >iEmbeddedPackages
RPointerArray< CSisRegistryFileDescription >iFileDescriptions
TUint16 iFileMajorVersion
TUint16 iFileMinorVersion
TBool iInRom
RArray< TInt >iInstallChainIndices
Sis::TInstallType iInstallType
TBool iIsRemovable
RPointerArray< HBufC >iLocalizedPackageNames
RPointerArray< HBufC >iLocalizedVendorNames
TInt iOwnedFileDescriptions
RPointerArray< CSisRegistryProperty >iProperties
TInt iRemoveWithLastDependent
TBool iSigned
TBool iSignedBySuCert
RArray< TInt >iSupportedLanguageIds
TSisPackageTrust iTrust
TSisTrustStatus iTrustStatus
TTime iTrustTimeStamp
HBufC *iVendorLocalizedName
Inherited Attributes
Swi::CSisRegistryPackage::iIndex
Swi::CSisRegistryPackage::iPackageName
Swi::CSisRegistryPackage::iUid
Swi::CSisRegistryPackage::iVendorName
Swi::CSisRegistryToken::iCompletelyPresent
Swi::CSisRegistryToken::iControllerInfo
Swi::CSisRegistryToken::iCurrentDrives
Swi::CSisRegistryToken::iDrives
Swi::CSisRegistryToken::iLanguage
Swi::CSisRegistryToken::iPresentRemovableDrives
Swi::CSisRegistryToken::iSelectedDrive
Swi::CSisRegistryToken::iSids
Swi::CSisRegistryToken::iUnused1
Swi::CSisRegistryToken::iUnused2
Swi::CSisRegistryToken::iVersion

Constructor & Destructor Documentation

~CSisRegistryObject()

~CSisRegistryObject()[virtual]

Member Functions Documentation

AddFilesL(const CApplication &)

voidAddFilesL(const CApplication &aApplication)[private]

Parameters

const CApplication & aApplication

ConstructL()

voidConstructL()[private]

ConstructL(RReadStream &)

voidConstructL(RReadStream &aStream)[private]

The second-phase constructor.

Parameters

RReadStream & aStreamRReadStream stream object reference which contains the streamed object.

ConvertTrustToTrustStatus(const TSisPackageTrust &, TSisTrustStatus &)

voidConvertTrustToTrustStatus(const TSisPackageTrust &trust,
TSisTrustStatus &trustStatus
)const [private]

Parameters

const TSisPackageTrust & trust
TSisTrustStatus & trustStatus

DeletablePreInstalled()

TBool DeletablePreInstalled()const [inline]

Returns whether or not the package was pre-installed but files should still be deleted on uninstall. This will be true if and only if the swipolicy indicates that preinstalled files can be deleted, and the stub sis file used to install the package was writable at install time.

DependsOnL(RPointerArray< CSisRegistryDependency > &)

IMPORT_C voidDependsOnL(RPointerArray< CSisRegistryDependency > &aDependencies)const

Returns the dependency array for this package (ie UIDs it depends on). A being "Dependent" on B means that either B is in A's dependency list or B is in A's EmbeddedPackage list

Parameters

RPointerArray< CSisRegistryDependency > & aDependencies

DependsOnObject(const CSisRegistryObject &)

IMPORT_C TBoolDependsOnObject(const CSisRegistryObject &aObject)const

Returns whether current/this object depends on a specific registry object

Parameters

const CSisRegistryObject & aObject- a reference to the object the current may depend on

EmbeddedPackage(TInt)

IMPORT_C CSisRegistryPackage *EmbeddedPackage(TIntaIndex)

Returns the embedded package at a given index.

Parameters

TInt aIndexThe index to fetch the embedded package from

EmbeddedPackagesL(RPointerArray< CSisRegistryPackage > &)

IMPORT_C voidEmbeddedPackagesL(RPointerArray< CSisRegistryPackage > &aEmbedded)const

Return an array of packages that were embedded within this package.

Parameters

RPointerArray< CSisRegistryPackage > & aEmbedded

EmbedsPackage(const CSisRegistryPackage &)

IMPORT_C TBoolEmbedsPackage(const CSisRegistryPackage &aPackage)const

Returns whether this object embeds a specific registry package

Parameters

const CSisRegistryPackage & aPackage- a reference to the package the current object may embed

ExternalizeL(RWriteStream &)

IMPORT_C voidExternalizeL(RWriteStream &aStream)const

Write the object to a stream

Parameters

RWriteStream & aStreamThe stream to write to

FileDescriptionL(const TDesC &)

IMPORT_C const CSisRegistryFileDescription &FileDescriptionL(const TDesC &aFileName)const

Returns the description of a registered file

Parameters

const TDesC & aFileName

FileDescriptionL(TUid)

IMPORT_C const CSisRegistryFileDescription &FileDescriptionL(TUidaSid)const

Returns the description of a registered file

Parameters

TUid aSidthe uid for the installation package

FileDescriptions()

RPointerArray< CSisRegistryFileDescription > &FileDescriptions()[inline]

Provides an array of file descriptions

GetLocalizedPackageNamesArray()

RPointerArray< HBufC > &GetLocalizedPackageNamesArray()[inline]

GetLocalizedVendorNamesArray()

RPointerArray< HBufC > &GetLocalizedVendorNamesArray()[inline]

GetSupportedLanguageIdsArray()

RArray< TInt > &GetSupportedLanguageIdsArray()[inline]

InRom()

TBool InRom()const [inline]

Returns whether or not the package is installed on read-only media

InstallChainIndicies()

IMPORT_C const RArray< TInt > &InstallChainIndicies()const

Given the list of all available certificate chains, the returned array will contain the indexes into that list, of chains that were used to verify the object at install time.

InstallType()

Sis::TInstallType InstallType()const [inline]

Returns the install type for this package

InternalizeL(RReadStream &)

IMPORT_C voidInternalizeL(RReadStream &aStream)

Read the object from a stream

Parameters

RReadStream & aStreamThe stream to read from

IsPreinstalled(Sis::TInstallType)

TBool IsPreinstalled(Sis::TInstallTypeaInstallType)[static, inline]

Parameters

Sis::TInstallType aInstallType

IsRemovable()

TBool IsRemovable()const [inline]

Returns whether or not the package is removable

IsSigned()

TBool IsSigned()const [inline]

Returns whether or not the package was signed

IsSignedBySuCert()

TBool IsSignedBySuCert()const [inline]

Returns whether this object is signed by a certificate trusted by the device with System Upgrade flag.

NewL()

IMPORT_C CSisRegistryObject *NewL()[static]

NewL(RReadStream &)

IMPORT_C CSisRegistryObject *NewL(RReadStream &aStream)[static]

Constructs a entry from a given existing .reg filename.

Parameters

RReadStream & aStream

NewLC()

IMPORT_C CSisRegistryObject *NewLC()[static]

NewLC(RReadStream &)

IMPORT_C CSisRegistryObject *NewLC(RReadStream &aStream)[static]

This method creates a new CSisRegistryPackage object from a stream on the cleanup stack

Parameters

RReadStream & aStreamStream to read the object data from

PopulateLocalizedPackageAndVendorNamesL(const CApplication &)

voidPopulateLocalizedPackageAndVendorNamesL(const CApplication &aApplication)[private]

Parameters

const CApplication & aApplication

PreInstalled()

TBool PreInstalled()const [inline]

Returns whether or not the package was pre-installed

ProcessApplicationL(const CApplication &, const TDesC8 &)

voidProcessApplicationL(const CApplication &aApplication,
const TDesC8 &aController
)

Processes an application to create a registry entry object.

Parameters

const CApplication & aApplicationThe application to process
const TDesC8 & aControllerThe raw controller data

ProcessInRomControllerL(const Swi::Sis::CController &, const TDesC8 &)

IMPORT_C voidProcessInRomControllerL(const Swi::Sis::CController &aController,
const TDesC8 &aControllerData
)

Processes a controller in rom to create a registry entry object.

Parameters

const Swi::Sis::CController & aControllerThe controller object
const TDesC8 & aControllerDataThe raw controller data

Property(TInt)

IMPORT_C TIntProperty(TIntaKey)const

Returns value of a property within a package

Parameters

TInt aKeyThe key of the property

RemoveFilesL(const CApplication &)

voidRemoveFilesL(const CApplication &aApplication)[private]

Parameters

const CApplication & aApplication

RemoveWithLastDependent()

IMPORT_C TIntRemoveWithLastDependent()const

Returns value of the flag indicating whether the package will be uninstalled with the last dependent

SetRemoveWithLastDependent()

IMPORT_C voidSetRemoveWithLastDependent()

Sets the flag indicating whether the package will be uninstalled with the last dependent

SetTrustStatus(const TSisTrustStatus &)

IMPORT_C voidSetTrustStatus(const TSisTrustStatus &status)

Updates the trust status information for the object.

TSisTrustStatus

Parameters

const TSisTrustStatus & statusThe trust status for the registry object

SizeL()

IMPORT_C TInt64SizeL()const

Returns the size of an installation

StoreControllerInfoL(const CMessageDigest &, const Sis::CVersion &)

voidStoreControllerInfoL(const CMessageDigest &aMsgDigest,
const Sis::CVersion &aVersion
)[private]

Parameters

const CMessageDigest & aMsgDigest
const Sis::CVersion & aVersion

StoreDependenciesL(const Sis::CController &)

voidStoreDependenciesL(const Sis::CController &aController)[private]

Parameters

const Sis::CController & aController

StorePropertiesL(const Sis::CController &)

voidStorePropertiesL(const Sis::CController &aController)[private]

Parameters

const Sis::CController & aController

Trust()

TSisPackageTrust Trust()const [inline]

Returns the trust level of the package

Replaced by the TSisTrustStatus member

TrustStatus()

IMPORT_C const TSisTrustStatus &TrustStatus()const

Provides the latest trust status information for the object.

TSisTrustStatus

TrustTimeStamp()

TTime TrustTimeStamp()const [inline]

Trust Timestamp

Replaced by the TSisTrustStatus member

UpdateDrivesL()

voidUpdateDrivesL()[private]

UpdateEmbeddedAppsL(const CApplication &)

voidUpdateEmbeddedAppsL(const CApplication &aApplication)[private]

Parameters

const CApplication & aApplication

UpdateLocalizedInfoL()

voidUpdateLocalizedInfoL()[private]

UpgradeApplicationL(const CApplication &, const TDesC8 &)

voidUpgradeApplicationL(const CApplication &aApplication,
const TDesC8 &aController
)

Upgrades the content of this object with an application content.

Parameters

const CApplication & aApplicationThe application to process
const TDesC8 & aControllerThe raw controller data

UserSelectedLanguageIndexL(const CApplication &)

TInt UserSelectedLanguageIndexL(const CApplication &aApplication)const [private]

Parameters

const CApplication & aApplication

VendorLocalizedName()

const TDesC &VendorLocalizedName()const [inline]

Returns the localized vendor name of a package

Member Data Documentation

TBool iDeletablePreInstalled

TBool iDeletablePreInstalled[private]

RPointerArray< CSisRegistryDependency > iDependencies

RPointerArray< CSisRegistryDependency >iDependencies[private]

RPointerArray< CSisRegistryPackage > iEmbeddedPackages

RPointerArray< CSisRegistryPackage >iEmbeddedPackages[private]

RPointerArray< CSisRegistryFileDescription > iFileDescriptions

RPointerArray< CSisRegistryFileDescription >iFileDescriptions[private]

TUint16 iFileMajorVersion

TUint16 iFileMajorVersion[private]

TUint16 iFileMinorVersion

TUint16 iFileMinorVersion[private]

TBool iInRom

TBool iInRom[private]

RArray< TInt > iInstallChainIndices

RArray< TInt >iInstallChainIndices[private]

Set of certificate chains used at install time.

Sis::TInstallType iInstallType

Sis::TInstallType iInstallType[private]

TBool iIsRemovable

TBool iIsRemovable[private]

RPointerArray< HBufC > iLocalizedPackageNames

RPointerArray< HBufC >iLocalizedPackageNames[private]

RPointerArray< HBufC > iLocalizedVendorNames

RPointerArray< HBufC >iLocalizedVendorNames[private]

TInt iOwnedFileDescriptions

TInt iOwnedFileDescriptions[private]

RPointerArray< CSisRegistryProperty > iProperties

RPointerArray< CSisRegistryProperty >iProperties[private]

TInt iRemoveWithLastDependent

TInt iRemoveWithLastDependent[private]

TBool iSigned

TBool iSigned[private]

TBool iSignedBySuCert

TBool iSignedBySuCert[private]

RArray< TInt > iSupportedLanguageIds

RArray< TInt >iSupportedLanguageIds[private]

TSisPackageTrust iTrust

TSisPackageTrust iTrust[private]

TSisTrustStatus iTrustStatus

TSisTrustStatus iTrustStatus[private]

Trust status object indicating SWI

TTime iTrustTimeStamp

TTime iTrustTimeStamp[private]

Timestamp of the trust calculation, will be deprecated.

HBufC * iVendorLocalizedName

HBufC *iVendorLocalizedName[private]