Swi::RSisRegistryEntry Class Reference

class Swi::RSisRegistryEntry : public RSubSessionBase

Client registry entry interface

Inherits from

Public Member Functions
IMPORT_C voidAugmentationsL(RPointerArray< HBufC > &, RPointerArray< HBufC > &)
IMPORT_C voidAugmentationsL(RPointerArray< CSisRegistryPackage > &)
IMPORT_C TIntAugmentationsNumberL()
IMPORT_C voidCertificateChainsL(RPointerArray< HBufC8 > &)
IMPORT_C voidClose()
IMPORT_C voidControllersL(RPointerArray< HBufC8 > &)
IMPORT_C voidDependenciesL(RPointerArray< CSisRegistryDependency > &)
IMPORT_C voidDependentPackagesL(RPointerArray< CSisRegistryPackage > &)
IMPORT_C voidEmbeddedPackagesL(RPointerArray< CSisRegistryPackage > &)
IMPORT_C voidEmbeddingPackagesL(RPointerArray< CSisRegistryPackage > &)
IMPORT_C voidFilesL(RPointerArray< HBufC > &)
IMPORT_C CHashContainer *HashL(const TDesC &)
IMPORT_C TUintInstalledDrivesL()
IMPORT_C TBoolIsAugmentationL()
IMPORT_C TBoolIsDeletablePreInstalledL()
IMPORT_C TBoolIsInRomL()
IMPORT_C TBoolIsPresentL()
IMPORT_C TBoolIsSignedBySuCertL()
IMPORT_C TBoolIsSignedL()
IMPORT_C TLanguageLanguageL()
IMPORT_C HBufC *LocalizedVendorNameL()
IMPORT_C TIntOpen(RSisRegistrySession &, TUid)
IMPORT_C TIntOpen(RSisRegistrySession &, const TDesC &, const TDesC &)
IMPORT_C TIntOpenL(RSisRegistrySession &, const CSisRegistryPackage &)
IMPORT_C CSisRegistryPackage *PackageL()
IMPORT_C HBufC *PackageNameL()
IMPORT_C TBoolPreInstalledL()
IMPORT_C TIntPropertyL(TInt)
IMPORT_C voidRegistryFilesL(RPointerArray< HBufC > &)
IMPORT_C TBoolRemovableL()
IMPORT_C TIntRemoveWithLastDependentL()
IMPORT_C TCharSelectedDriveL()
IMPORT_C voidSetRemoveWithLastDependentL(TUid)
IMPORT_C TBoolShutdownAllAppsL()
IMPORT_C voidSidsL(RArray< TUid > &)
IMPORT_C TInt64SizeL()
IMPORT_C TSisPackageTrustTrustL()
IMPORT_C TSisTrustStatusTrustStatusL()
IMPORT_C TTimeTrustTimeStampL()
IMPORT_C TUidUidL()
IMPORT_C HBufC *UniqueVendorNameL()
IMPORT_C TBoolVerifyControllerSignatureL(RPointerArray< CX509Certificate > &)
IMPORT_C TBoolVerifyControllerSignatureL(RPointerArray< CX509Certificate > &, TBool)
IMPORT_C TVersionVersionL()
Protected Member Functions
HBufC8 *SendReceiveBufferLC(TInt)
HBufC8 *SendReceiveBufferLC(TInt, const TDesC &)
Inherited Functions
RSubSessionBase::CloseSubSession(TInt)
RSubSessionBase::CreateAutoCloseSubSession(RSessionBase &,TInt,const TIpcArgs &)
RSubSessionBase::CreateSubSession(const RSessionBase &,TInt)
RSubSessionBase::CreateSubSession(const RSessionBase &,TInt,const TIpcArgs &)
RSubSessionBase::RSubSessionBase()
RSubSessionBase::Send(TInt)const
RSubSessionBase::Send(TInt,const TIpcArgs &)const
RSubSessionBase::SendReceive(TInt)const
RSubSessionBase::SendReceive(TInt,TRequestStatus &)const
RSubSessionBase::SendReceive(TInt,const TIpcArgs &)const
RSubSessionBase::SendReceive(TInt,const TIpcArgs &,TRequestStatus &)const
RSubSessionBase::Session()const
RSubSessionBase::SubSessionHandle()const

Member Functions Documentation

AugmentationsL(RPointerArray< HBufC > &, RPointerArray< HBufC > &)

IMPORT_C voidAugmentationsL(RPointerArray< HBufC > &aPackageNames,
RPointerArray< HBufC > &aVendorNames
)

Returns all augmentations to this package. If no augmentations exist, the lists are empty

Parameters

RPointerArray< HBufC > & aPackageNamesOn return, a list of PackageNames
RPointerArray< HBufC > & aVendorNamesOn return, the corresponding list of VendorNames

AugmentationsL(RPointerArray< CSisRegistryPackage > &)

IMPORT_C voidAugmentationsL(RPointerArray< CSisRegistryPackage > &aPackages)

Returns all augmentations to this package. If no augmentations exist, the list is empty

Parameters

RPointerArray< CSisRegistryPackage > & aPackagesThe array of CSisRegistryPackages to be populated

AugmentationsNumberL()

IMPORT_C TIntAugmentationsNumberL()

Gets the number of augmentations to this package.

CertificateChainsL(RPointerArray< HBufC8 > &)

IMPORT_C voidCertificateChainsL(RPointerArray< HBufC8 > &aCertificateChains)

Provides the certificate chains associated with this package

Parameters

RPointerArray< HBufC8 > & aCertificateChainsThe array of certificate chains

Close()

IMPORT_C voidClose()

Closes the registry entry by closing the sub-session

ControllersL(RPointerArray< HBufC8 > &)

IMPORT_C voidControllersL(RPointerArray< HBufC8 > &aControllers)

Return the controllers associated with this package as raw binary data

Parameters

RPointerArray< HBufC8 > & aControllersThe array of controllers to be populated.

DependenciesL(RPointerArray< CSisRegistryDependency > &)

IMPORT_C voidDependenciesL(RPointerArray< CSisRegistryDependency > &aDependencies)

Returns the dependency array for this package (ie the packages, denoted by UID and the version ranges it depends on).

Note:

A is a "Dependent" of B if B is in A's dependency list A is a "dependency" of B if A is in B's dependency list For example consider a package Shared_library_B which is used by a package App_A. Shared_Library_B will be listed as a dependency in the sis file which installs App_A App_A cannot be installed successfully without Shared_Library_B being present. If Shared_Library_B is un-installed App_A may not function correctly. In this scenario App_A is a "dependent" of Shared_library_B Shared_library_B is a "dependency" of App_A

Parameters

RPointerArray< CSisRegistryDependency > & aDependenciesThe array of packages that this package depends on (i.e. its dependencies)

DependentPackagesL(RPointerArray< CSisRegistryPackage > &)

IMPORT_C voidDependentPackagesL(RPointerArray< CSisRegistryPackage > &aDependents)

Returns the array of packages which are either dependent on this package or are augmentations of this package.

Note:

A is a "Dependent" of B if B is in A's dependency list A is a "dependency" of B if A is in B's dependency list For example consider a package Shared_library_B which is used by a package App_A. Shared_Library_B will be listed as a dependency in the sis file which installs App_A App_A cannot be installed successfully without Shared_Library_B being present. If Shared_Library_B is un-installed App_A may not function correctly. App_A is a "dependent" of Shared_library_B Shared_library_B is a "dependency" of App_A

Parameters

RPointerArray< CSisRegistryPackage > & aDependentsThe array of packages which are either dependent on this package or are augmentations of this package (i.e. its dependents)

EmbeddedPackagesL(RPointerArray< CSisRegistryPackage > &)

IMPORT_C voidEmbeddedPackagesL(RPointerArray< CSisRegistryPackage > &aEmbedded)

For a given package entry, return a array of packages that were embedded within this package.

Parameters

RPointerArray< CSisRegistryPackage > & aEmbeddedThe array of embedded packages

EmbeddingPackagesL(RPointerArray< CSisRegistryPackage > &)

IMPORT_C voidEmbeddingPackagesL(RPointerArray< CSisRegistryPackage > &aEmbedding)

For a given package entry, return a array of packages that embed it. Note: This is possible when package A embeds D and the subsequently installed packages B and C each in turn embed D. As there will be a single copy and a single registration for D, it is imperative this back information is retained and it is accessible.

Parameters

RPointerArray< CSisRegistryPackage > & aEmbeddingThe array of embedding packages

FilesL(RPointerArray< HBufC > &)

IMPORT_C voidFilesL(RPointerArray< HBufC > &aFiles)

Provides a list of files installed by this package. This function may also return a file specification that contains wildcard characters ('?' and/or '*') if the package is a rom 'stub' sis file. Wildcard file specifications are NOT expanded and in this instance, the Count() member function on 'aFiles' cannot be used as an indicator of the number of files within the package.

Parameters

RPointerArray< HBufC > & aFilesThe array of files to be populated.

HashL(const TDesC &)

IMPORT_C CHashContainer *HashL(const TDesC &aFileName)

Returns the hash value of a selected file, identified by its name

Parameters

const TDesC & aFileNamethe full file path

InstalledDrivesL()

IMPORT_C TUintInstalledDrivesL()

Returns set of drives to which files were installed in SIS file

IsAugmentationL()

IMPORT_C TBoolIsAugmentationL()

Indicates whether or not the package augments another package

IsDeletablePreInstalledL()

IMPORT_C TBoolIsDeletablePreInstalledL()

Returns whether or not the package was pre-installed and files should be deleted on uninstall. This will have been set 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.

IsInRomL()

IMPORT_C TBoolIsInRomL()

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

IsPresentL()

IMPORT_C TBoolIsPresentL()

Indicates whether the package is currently on the device (i.e. not on removable media that is not inserted).

IsSignedBySuCertL()

IMPORT_C TBoolIsSignedBySuCertL()

Returns ETrue if the SIS package is signed by a certificate trusted by the device (SU) for eclipsing of files on the Z drive

IsSignedL()

IMPORT_C TBoolIsSignedL()

Indicates whether the package is signed

LanguageL()

IMPORT_C TLanguageLanguageL()

Gets the installed language for this package

LocalizedVendorNameL()

IMPORT_C HBufC *LocalizedVendorNameL()

Gets the localised vendor name of a package

Open(RSisRegistrySession &, TUid)

IMPORT_C TIntOpen(RSisRegistrySession &aSession,
TUidaUid
)

Opens the base package entry by specifying a UID.

  • A base package is a self-sufficient package which does not depend on other packages with the same UID. It is also completely removed together with all related augmentation packages.

  • An agmentation package shares a UID with a base package and 'augments' the base package. It can only be installed only when the related base package is installed It can be uninstalled separatelly (without removing base package)

Parameters

RSisRegistrySession & aSessionThe open RSisRegistrySession to use
TUid aUidThe UID identifying the entry

Open(RSisRegistrySession &, const TDesC &, const TDesC &)

IMPORT_C TIntOpen(RSisRegistrySession &aSession,
const TDesC &aPackageName,
const TDesC &aVendorName
)

Open a registry entry (includes augmentations) by specifying a package and vendor name.

Parameters

RSisRegistrySession & aSessionThe open RSisRegistrySession to use
const TDesC & aPackageNameThe name of the package
const TDesC & aVendorNameThe name of the vendor

OpenL(RSisRegistrySession &, const CSisRegistryPackage &)

IMPORT_C TIntOpenL(RSisRegistrySession &aSession,
const CSisRegistryPackage &aPackage
)

Open a registry entry (includes augmentations) by specifying a package

Parameters

RSisRegistrySession & aSessionThe open RSisRegistrySession to use
const CSisRegistryPackage & aPackageThe package to open

PackageL()

IMPORT_C CSisRegistryPackage *PackageL()

Returns the package of a current entry

PackageNameL()

IMPORT_C HBufC *PackageNameL()

Gets the name of a package

PreInstalledL()

IMPORT_C TBoolPreInstalledL()

Returns whether or not the package was pre-installed

PropertyL(TInt)

IMPORT_C TIntPropertyL(TIntaKey)

Gets the value of a property within a package

Parameters

TInt aKeyThe key to search for

RegistryFilesL(RPointerArray< HBufC > &)

IMPORT_C voidRegistryFilesL(RPointerArray< HBufC > &aRegistryFiles)

Returns the list of files that were created internally by registry. This function is to be used to determine the list of internal files that are not to be removed for an NR package during an RFS(Restore Factory Settings).

Parameters

RPointerArray< HBufC > & aRegistryFilesThe array of filenames with complete path

RemovableL()

IMPORT_C TBoolRemovableL()

RemoveWithLastDependentL()

IMPORT_C TIntRemoveWithLastDependentL()

Indicates whether or not the package will be removed by uninstalling the last dependant

SelectedDriveL()

IMPORT_C TCharSelectedDriveL()

Returns what drive the user selected for files in the Sis file that did not specify drive.It returns KNoDriveSelected if user is not prompted for drive selection. For ROM stub packages it returns zero instead of KNoDriveSelected To determine the set of drives that files were installed to for this registry entry RSisRegistryEntry::InstalledDrivesL(). KNoDriveSelected

SendReceiveBufferLC(TInt)

HBufC8 *SendReceiveBufferLC(TIntaMessage)[protected]

Parameters

TInt aMessage

SendReceiveBufferLC(TInt, const TDesC &)

HBufC8 *SendReceiveBufferLC(TIntaMessage,
const TDesC &aInputDescriptor
)[protected]

Parameters

TInt aMessage
const TDesC & aInputDescriptor

SetRemoveWithLastDependentL(TUid)

IMPORT_C voidSetRemoveWithLastDependentL(TUiduid)

This function is used to indicate the embedding package has been uninstalled but this package remained because of dependency.

Parameters

TUid uid

ShutdownAllAppsL()

IMPORT_C TBoolShutdownAllAppsL()

Determines whether the base package or any of the partial upgrades require all applications within this package to be to be shutdown before uninstalling the package.

SidsL(RArray< TUid > &)

IMPORT_C voidSidsL(RArray< TUid > &aSids)

Returns an array of Sids (executables). The array is supplied by the client which is then populated.

Parameters

RArray< TUid > & aSidsOn return, the array object to be populated.

SizeL()

IMPORT_C TInt64SizeL()

Returns the size of the installation excluding the size of other embedded packages

TrustL()

IMPORT_C TSisPackageTrustTrustL()const

Indicates the level of trust associated with the package

Will be replaced in the future by a more complete TrustStatusL method.

TrustStatusL()

IMPORT_C TSisTrustStatusTrustStatusL()

The trust status object for the entry. This supercedes information provided by the deprecated TrustL and TrustTimeStampL methods.

TrustTimeStampL()

IMPORT_C TTimeTrustTimeStampL()const

The time at which the trust level was established

Will be replaced in the future by a more complete TrustStatusL method.

UidL()

IMPORT_C TUidUidL()

Gets the UID of this package

UniqueVendorNameL()

IMPORT_C HBufC *UniqueVendorNameL()

Gets the unique vendor name of this package

VerifyControllerSignatureL(RPointerArray< CX509Certificate > &)

IMPORT_C TBoolVerifyControllerSignatureL(RPointerArray< CX509Certificate > &aX509CertArray)

The function is used to re-verify the signature and certificate of the SIS Controller associated to the RSisRegistryEntry object.

aX509CertArray parameter is used to give set of trusted root certificates that are used for validation of the SIS Controller certificate. If the set given as parameter is empty, Symbian implementation can fetch the set of trusted root certificates from Certificate Management. If the set is not empty, then root certificates should not be fetched from Certificate Mgmt, but only the root certificates from the set given as parameter should be used for SIS Controller certificate validation.

Parameters

RPointerArray< CX509Certificate > & aX509CertArray

VerifyControllerSignatureL(RPointerArray< CX509Certificate > &, TBool)

IMPORT_C TBoolVerifyControllerSignatureL(RPointerArray< CX509Certificate > &aX509CertArray,
TBoolaCheckDateAndTime
)

The function is used to re-verify the signature and certificate of the SIS Controller associated to the RSisRegistryEntry object.

aX509CertArray parameter is used to give set of trusted root certificates that are used for validation of the SIS Controller certificate. If the set given as parameter is empty, Symbian implementation can fetch the set of trusted root certificates from Certificate Management. If the set is not empty, then root certificates should not be fetched from Certificate Mgmt, but only the root certificates from the set given as parameter should be used for SIS Controller certificate validation.

Parameters

RPointerArray< CX509Certificate > & aX509CertArrayArray of trusted root certificates.
TBool aCheckDateAndTimeIndicates if the certificate validity period should be checked against the current date and time.

VersionL()

IMPORT_C TVersionVersionL()

Gets the version of this package