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

Public Member Functions
~CSisRegistryObject ()
TBool DeletablePreInstalled ()
IMPORT_C void DependsOnL ( RPointerArray < CSisRegistryDependency > &)
IMPORT_C TBool DependsOnObject (const CSisRegistryObject &)
IMPORT_C CSisRegistryPackage * EmbeddedPackage ( TInt )
IMPORT_C void EmbeddedPackagesL ( RPointerArray < CSisRegistryPackage > &)
IMPORT_C TBool EmbedsPackage (const CSisRegistryPackage &)
IMPORT_C void ExternalizeL ( 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 void InternalizeL ( 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 ()
void ProcessApplicationL (const CApplication &, const TDesC8 &)
IMPORT_C void ProcessInRomControllerL (const Swi::Sis::CController &, const TDesC8 &)
IMPORT_C TInt Property ( TInt )
IMPORT_C TInt RemoveWithLastDependent ()
IMPORT_C void SetRemoveWithLastDependent ()
IMPORT_C void SetTrustStatus (const TSisTrustStatus &)
IMPORT_C TInt64 SizeL ()
TSisPackageTrust Trust ()
IMPORT_C const TSisTrustStatus & TrustStatus ()
TTime TrustTimeStamp ()
void UpgradeApplicationL (const CApplication &, const TDesC8 &)
const TDesC & VendorLocalizedName ()
Private Member Functions
void AddFilesL (const CApplication &)
void ConstructL ()
void ConstructL ( RReadStream &)
void ConvertTrustToTrustStatus (const TSisPackageTrust &, TSisTrustStatus &)
void PopulateLocalizedPackageAndVendorNamesL (const CApplication &)
void RemoveFilesL (const CApplication &)
void StoreControllerInfoL (const CMessageDigest &, const Sis::CVersion &)
void StoreDependenciesL (const Sis::CController &)
void StorePropertiesL (const Sis::CController &)
void UpdateDrivesL ()
void UpdateEmbeddedAppsL (const CApplication &)
void UpdateLocalizedInfoL ()
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 &)

void AddFilesL ( const CApplication & aApplication ) [private]

Parameters

const CApplication & aApplication

ConstructL()

void ConstructL ( ) [private]

ConstructL(RReadStream &)

void ConstructL ( RReadStream & aStream ) [private]

The second-phase constructor.

Parameters

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

ConvertTrustToTrustStatus(const TSisPackageTrust &, TSisTrustStatus &)

void ConvertTrustToTrustStatus ( 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 void DependsOnL ( 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 TBool DependsOnObject ( 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 ( TInt aIndex )

Returns the embedded package at a given index.

Parameters

TInt aIndex The index to fetch the embedded package from

EmbeddedPackagesL(RPointerArray< CSisRegistryPackage > &)

IMPORT_C void EmbeddedPackagesL ( RPointerArray < CSisRegistryPackage > & aEmbedded ) const

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

Parameters

RPointerArray < CSisRegistryPackage > & aEmbedded

EmbedsPackage(const CSisRegistryPackage &)

IMPORT_C TBool EmbedsPackage ( 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 void ExternalizeL ( RWriteStream & aStream ) const

Write the object to a stream

Parameters

RWriteStream & aStream The 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 ( TUid aSid ) const

Returns the description of a registered file

Parameters

TUid aSid the 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 void InternalizeL ( RReadStream & aStream )

Read the object from a stream

Parameters

RReadStream & aStream The stream to read from

IsPreinstalled(Sis::TInstallType)

TBool IsPreinstalled ( Sis::TInstallType aInstallType ) [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 & aStream Stream to read the object data from

PopulateLocalizedPackageAndVendorNamesL(const CApplication &)

void PopulateLocalizedPackageAndVendorNamesL ( 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 &)

void ProcessApplicationL ( const CApplication & aApplication,
const TDesC8 & aController
)

Processes an application to create a registry entry object.

Parameters

const CApplication & aApplication The application to process
const TDesC8 & aController The raw controller data

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

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

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

Parameters

const Swi::Sis::CController & aController The controller object
const TDesC8 & aControllerData The raw controller data

Property(TInt)

IMPORT_C TInt Property ( TInt aKey ) const

Returns value of a property within a package

Parameters

TInt aKey The key of the property

RemoveFilesL(const CApplication &)

void RemoveFilesL ( const CApplication & aApplication ) [private]

Parameters

const CApplication & aApplication

RemoveWithLastDependent()

IMPORT_C TInt RemoveWithLastDependent ( ) const

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

SetRemoveWithLastDependent()

IMPORT_C void SetRemoveWithLastDependent ( )

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

SetTrustStatus(const TSisTrustStatus &)

IMPORT_C void SetTrustStatus ( const TSisTrustStatus & status )

Updates the trust status information for the object.

TSisTrustStatus

Parameters

const TSisTrustStatus & status The trust status for the registry object

SizeL()

IMPORT_C TInt64 SizeL ( ) const

Returns the size of an installation

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

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

Parameters

const CMessageDigest & aMsgDigest
const Sis::CVersion & aVersion

StoreDependenciesL(const Sis::CController &)

void StoreDependenciesL ( const Sis::CController & aController ) [private]

Parameters

const Sis::CController & aController

StorePropertiesL(const Sis::CController &)

void StorePropertiesL ( 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()

void UpdateDrivesL ( ) [private]

UpdateEmbeddedAppsL(const CApplication &)

void UpdateEmbeddedAppsL ( const CApplication & aApplication ) [private]

Parameters

const CApplication & aApplication

UpdateLocalizedInfoL()

void UpdateLocalizedInfoL ( ) [private]

UpgradeApplicationL(const CApplication &, const TDesC8 &)

void UpgradeApplicationL ( const CApplication & aApplication,
const TDesC8 & aController
)

Upgrades the content of this object with an application content.

Parameters

const CApplication & aApplication The application to process
const TDesC8 & aController The 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]