Swi

Public Attributes
const TIntFileNameUnadornedPartLength
const TLitC8< sizeof("AllowGrantUserCapabilities")>KAllowGrantUserCaps
const TLitC8< sizeof("AllowOrphanedOverwrite")>KAllowOrphanedOverwrite
const TLitC8< sizeof("AllowOverwriteOnRestore")>KAllowOverwriteOnRestore
const TLitC8< sizeof("AllowPackagePropagate")>KAllowPackagePropagate
const TLitC8< sizeof("AllowProtectedOrphanOverwrite")>KAllowProtectedOrphanOverwrite
const TLitC8< sizeof("AllowRunOnInstallUninstall")>KAllowRunOnInstallUninstall
const TLitC8< sizeof("AllowUnsigned")>KAllowUnsigned
const TLitC8< sizeof("AlternativeCodeSigningOID")>KAlternativeCodeSigningOid
const TLitC8< sizeof("ApplicationShutdownTimeoutSeconds")>KApplicationShutdownTimeout
const TLitC8< sizeof("DRMEnabled")>KDRMEnabled
const TLitC8< sizeof("DRMIntent")>KDRMIntent
const TUint8KDataField
const TLitC8< sizeof("DeletePreinstalledFilesOnUninstall")>KDeletePreinstalledFilesOnUninstall
const TUint8KHeaderField
const TLitC< sizeof(L"InstallServer")/2 >KInstallServerImage
const TLitC< sizeof(L"!InstallServer")/2 >KInstallServerName
const TUidKInstallServerUid3
const TIntKInstallServerVersionBuild
const TIntKInstallServerVersionMajor
const TIntKInstallServerVersionMinor
const TLitC8< sizeof("MandateCodeSigningExtension")>KMandateCodeSigningExtension
const TLitC8< sizeof("MandatePolicies")>KMandatePolicies
const TIntKMaxExpressionDepth
const TIntKMaxLogFileName
const TIntKMaxNoOfDeletionAttempts
const TLitC8< sizeof("MaxNumOfLogEntries")>KMaxNumOfLogEntries
const TIntKMaxUidCount
const TLitC8< sizeof("OcspEnabled")>KOcspEnabled
const TLitC8< sizeof("OcspHttpHeaderFilter")>KOcspHttpHeaderFilter
const TLitC8< sizeof("OcspMandatory")>KOcspMandatory
const TLitC8< sizeof("Oid")>KOid
const TLitC8< sizeof("PhoneTsyName")>KPhoneTsyName
const TIntKProgressBarEndIncrement
const TIntKProgressBarIncrement
const TIntKProgressBarInstallChunkSize
const TIntKProgressBarUninstallAmount
const TLitC8< sizeof("RemoveOnlyWithLastDependent")>KRemoveOnlyWithLastDependent
const TLitC8< sizeof("ReplacePath")>KReplacePath
const TIntKRetryInterval
const TLitC8< sizeof("RunWaitTimeoutSeconds")>KRunWaitTimeout
const TLitC8< sizeof("SISCompatibleIfNoTargetDevices")>KSISCompatibleIfNoTargetDevices
const TIntKSWIObserverRetryDelay
const TUidKSisHelperServerUid3
const TIntKSisHelperVersionBuild
const TIntKSisHelperVersionMajor
const TIntKSisHelperVersionMinor
const TIntKSwiObserverShutdownPeriod
const TIntKSwiObserverVerBuild
const TIntKSwiObserverVerMajor
const TIntKSwiObserverVerMinor
const TUintKSwisOperationMask
const TUintKSwisOperationStatusMask
const TLitC< sizeof(L"z:\\system\\data\\swipolicy.ini")/2 >KSwisPolicyFile
const TUintKUidSoftwareInstallKey
const TUidKUidSwiObserver
const TLitC8< sizeof("UserCapabilities")>KUserCapabilities
const TIntKVariableLanguage
const TIntKVariableRemoteInstall
Public Member Enumerations
enumStateMachinePanic { EStateError }
enumTDevCertWarningState { ENoDevCerts, EFoundDevCerts, EDevCertsWarned }
enumTErrorDialog { EUiAlreadyInRom, EUiMissingDependency, EUiRequireVer, EUiRequireVerOrGreater, ..., EUiBlockingEclipsingFile }
enumTFileFlag { EFileAdded, EFileDeleted, EFileDll, EFileExe }
enumTFileTextOption { EInstFileTextOptionContinue, EInstFileTextOptionSkipOneIfNo, EInstFileTextOptionAbortIfNo, EInstFileTextOptionExitIfNo, EInstFileTextOptionForceAbort }
enumTFlagFileOperation { EDeleteFlagFile, ECreateFlagFile }
enumTInstallCancellableEvent { EEventRemovingFiles, EEventShuttingDownApps, EEventCopyingFiles, EEventOcspCheckStart }
enumTInstallEvent { EEventSetProgressBarFinalValue, EEventUpdateProgressBar, EEventAbortedInstall, EEventCompletedInstall, ..., EEventDevCert }
enumTInstallServerMessage { EInstall, EUninstall, ECancel, ERestore, ..., ERemoveUnInstalledPkg }
enumTInstallServerPanic { EPanicInstallServerBadDescriptor, EPanicInstallServerIllegalFunction }
enumTIntegrityServicesEvent { ENone, ERemovedFile, EBackupFile, ETempFile, ..., ETempFilesRemoved }
enumTOperationType { EOpInstall, EOpUninstall, EOpRestore }
enumTPackageType { EStandardApplication, EStandardPatch, EPartialUpgrade, EPreinstalledApplication, ..., EUnknownPackage }
enumTQuestionDialog { EQuestionIncompatible, EQuestionOverwriteFile }
enumTRestoreFileMessage { EMessageSlotRestoreFs, EMessageSlotRestoreFile, EMessageSlotRestorePath }
enumTRestoreMessage { EMessageSlotRestoreUid, EMessageSlotRestoreController }
enumTRevocationDialogMessage { EInvalidRevocationServerUrl, EUnableToObtainCertificateStatus, EResponseSignatureValidationFailure, EInvalidRevocationServerResponse, ..., ECertificateStatusIsRevoked }
enumTRevocationStatus { EUnknown2, EOcspNotPerformed, EOcspRevoked, EOcspUnknown, ..., EOcspGood }
enumTSignatureValidationResult { EValidationSucceeded, ESignatureSelfSigned, ENoCertificate, ECertificateValidationError, ..., EMandatorySignatureMissing }
enumTSisHelperMessage { ESisHelperGetController, ESisHelperExtractFile, ESisHelperFillDrivesAndSpaces, ESisHelperOpenDrmContent, ..., ESisHelperGetEquivalentLanguages }
enumTSisHelperPanic { EPanicBadDescriptor, EPanicIllegalFunction, EPanicAlreadyReceiving, EPanicBadStartupDataType, EPanicBadDataProvider }
enumTSisPackageTrust { ESisPackageUnsignedOrSelfSigned, ESisPackageValidationFailed, ESisPackageCertificateChainNoTrustAnchor, ESisPackageCertificateChainValidatedToTrustAnchor, ..., ESisPackageBuiltIntoRom }
enumTSwiLogTypes { ESwiLogInstall, ESwiLogUnInstall, ESwiLogUpgrade, ESwiLogRestore }
enumTSwiObserverFunction { ERegisterToObserver, ETransferFileHandle, ESwiCommit }
enumTSwisOperation { ESwisNone, ESwisInstall, ESwisUninstall, ESwisRestore }
enumTSwisOperationStatus { ESwisStatusNone, ESwisStatusSuccess, ESwisStatusAborted }
enumTValidationStatus { EUnknown, EExpired, EInvalid, EUnsigned, ..., EPackageInRom }
Public Member Functions
voidCopyArrayL(RArray< T > &, const RArray< T > &)
voidCopyPointerArrayL(RPointerArray< T > &, const RPointerArray< T > &)
voidExternalizeArrayL(const RArray< T > &, RWriteStream &)
voidExternalizePointerArrayL(const RPointerArray< T > &, RWriteStream &)
voidFindAllAdornedVariantsL(RFs &, const TDesC &, const TDesC &, RPointerArray< HBufC > &)
voidGenerateSearchNameWildL(const TDesC &, TDes &)
IMPORT_C TIntGetAllUids(RArray< TUid > &)
voidGetUnadornedFileName(const TDesC &, TDes &)
voidInternalizeArrayL(RArray< T > &, RReadStream &)
voidInternalizePointerArrayL(RPointerArray< T > &, RReadStream &)
TBool IsAdornedVariationOfL(const TDesC &, const TDesC &)
NONSHARABLE_CLASS(CObservationData)
NONSHARABLE_CLASS(CObservationFilter)
NONSHARABLE_CLASS(CObservationHeader)
NONSHARABLE_CLASS(CProgressBarValuePublisher)
NONSHARABLE_CLASS(CUninstalledPackageEntry)
NONSHARABLE_CLASS(UninstalledSisPackages)
voidPanicClient(const RMessagePtr2 &, TInstallServerPanic)
TInt ProgressBarChunkIncrement(TInt64)
TInt ProgressBarFileIncrement(TInt64)
TUidType SwiObserverImageFullUid()
TVersion SwiObserverVersion()
_LIT(KBinPath, "\\sys\\bin\\")
_LIT(KControllerFileFilter, "*.ctl")
_LIT(KControllerFileNameFormat, "%S%S%08x\\%08x_%04x.ctl")
_LIT(KHashPath, "\\sys\\hash\\")
_LIT(KHashPathFormat, "%c:%S")
_LIT(KImportDir, "\\import\\")
_LIT(KLogDir, "\\sys\\install\\log.txt")
_LIT(KObserverFlagFileNameFormat, ":\\tmp\\%08xlog.flag")
_LIT(KObserverLogDir, "log_obs\\")
_LIT(KPreInstalledPath, "\\system\\install\\")
_LIT(KPrivatePath, "\\private\\")
_LIT(KPrivatePathFormat, "?:\\private\\")
_LIT(KRegistryPath, "\\sys\\install\\sisregistry\\")
_LIT(KResourcePath, "\\resource\\")
_LIT(KSidCacheFileName, "sidcache.cache")
_LIT(KSisHelperServerName, "!SISHELPER")
_LIT(KSwiDaemonPrivateDirectory, "\\private\\10202dce\\")
_LIT(KSwiLogDir, "log_swi\\")
_LIT(KSwiObserverImageName, "swiobserver.exe")
_LIT(KSwiObserverName, "!SwiObserver")
_LIT(KSysInstallPath, "\\sys\\install\\integrityservices\\")
_LIT(KSysInstallTempPath, "\\sys\\install\\temp\\")
_LIT(KSysPath, "\\sys\\")
_LIT(KUninstallLogPathFormat, "%c:\\sys\\uninstall\\%08x_%08x\\%c\\uninstall.log")
TExpressionResult operator!(const TExpressionResult &)
TExpressionResult operator!=(const TExpressionResult &, const TExpressionResult &)
TExpressionResult operator<(const TExpressionResult &, const TExpressionResult &)
TExpressionResult operator<=(const TExpressionResult &, const TExpressionResult &)
TExpressionResult operator==(const TExpressionResult &, const TExpressionResult &)
TExpressionResult operator>(const TExpressionResult &, const TExpressionResult &)
TExpressionResult operator>=(const TExpressionResult &, const TExpressionResult &)

Member Attribute Documentation

FileNameUnadornedPartLength

const TIntFileNameUnadornedPartLength

KAllowGrantUserCaps

const TLitC8< sizeof("AllowGrantUserCapabilities")>KAllowGrantUserCaps[static]

KAllowOrphanedOverwrite

const TLitC8< sizeof("AllowOrphanedOverwrite")>KAllowOrphanedOverwrite[static]

KAllowOverwriteOnRestore

const TLitC8< sizeof("AllowOverwriteOnRestore")>KAllowOverwriteOnRestore[static]

KAllowPackagePropagate

const TLitC8< sizeof("AllowPackagePropagate")>KAllowPackagePropagate[static]

KAllowProtectedOrphanOverwrite

const TLitC8< sizeof("AllowProtectedOrphanOverwrite")>KAllowProtectedOrphanOverwrite[static]

When true this flag allows orphaned files residing in private/xxxxxxxx/import, /resource or /sys/bin directories to be overwritten or eclipsed under user permission.

KAllowRunOnInstallUninstall

const TLitC8< sizeof("AllowRunOnInstallUninstall")>KAllowRunOnInstallUninstall[static]

KAllowUnsigned

const TLitC8< sizeof("AllowUnsigned")>KAllowUnsigned[static]

KAlternativeCodeSigningOid

const TLitC8< sizeof("AlternativeCodeSigningOID")>KAlternativeCodeSigningOid[static]

KApplicationShutdownTimeout

const TLitC8< sizeof("ApplicationShutdownTimeoutSeconds")>KApplicationShutdownTimeout[static]

KDRMEnabled

const TLitC8< sizeof("DRMEnabled")>KDRMEnabled[static]

KDRMIntent

const TLitC8< sizeof("DRMIntent")>KDRMIntent[static]

KDataField

const TUint8KDataField[static]

Indicates that the following line is in data format

KDeletePreinstalledFilesOnUninstall

const TLitC8< sizeof("DeletePreinstalledFilesOnUninstall")>KDeletePreinstalledFilesOnUninstall[static]

KHeaderField

const TUint8KHeaderField[static]

Indicates that the following line is in header format

KInstallServerImage

const TLitC< sizeof(L"InstallServer")/2 >KInstallServerImage[static]

KInstallServerName

const TLitC< sizeof(L"!InstallServer")/2 >KInstallServerName[static]

KInstallServerUid3

const TUidKInstallServerUid3

KInstallServerVersionBuild

const TIntKInstallServerVersionBuild

KInstallServerVersionMajor

const TIntKInstallServerVersionMajor

The current version of the Install Server.

KInstallServerVersionMinor

const TIntKInstallServerVersionMinor

KMandateCodeSigningExtension

const TLitC8< sizeof("MandateCodeSigningExtension")>KMandateCodeSigningExtension[static]

KMandatePolicies

const TLitC8< sizeof("MandatePolicies")>KMandatePolicies[static]

KMaxExpressionDepth

const TIntKMaxExpressionDepth[static]

Maximum recursion depth.

KMaxLogFileName

const TIntKMaxLogFileName[static]

Maximum length of a log file name.

KMaxNoOfDeletionAttempts

const TIntKMaxNoOfDeletionAttempts

KMaxNumOfLogEntries

const TLitC8< sizeof("MaxNumOfLogEntries")>KMaxNumOfLogEntries[static]

KMaxUidCount

const TIntKMaxUidCount

KOcspEnabled

const TLitC8< sizeof("OcspEnabled")>KOcspEnabled[static]

KOcspHttpHeaderFilter

const TLitC8< sizeof("OcspHttpHeaderFilter")>KOcspHttpHeaderFilter[static]

If defined in the ini file, this specifies the ECOM plugin which is used to filter the OCSP request HTTP headers.

KOcspMandatory

const TLitC8< sizeof("OcspMandatory")>KOcspMandatory[static]

KOid

const TLitC8< sizeof("Oid")>KOid[static]

KPhoneTsyName

const TLitC8< sizeof("PhoneTsyName")>KPhoneTsyName[static]

KProgressBarEndIncrement

const TIntKProgressBarEndIncrement[static]

The extra increment we add onto the end to make there always be some progress.

KProgressBarIncrement

const TIntKProgressBarIncrement[static]

Percentage of completion required before updating the progress bar.

KProgressBarInstallChunkSize

const TIntKProgressBarInstallChunkSize[static]

How many bytes to copy before updating the progress bar by one increment.

KProgressBarUninstallAmount

const TIntKProgressBarUninstallAmount[static]

How many increments to update the bar on the uninstall of a file.

KRemoveOnlyWithLastDependent

const TLitC8< sizeof("RemoveOnlyWithLastDependent")>KRemoveOnlyWithLastDependent[static]

When true this flag allows to delay the uninstallation of embedded packages until all their dependent packages have been uninstalled.

KReplacePath

const TLitC8< sizeof("ReplacePath")>KReplacePath[static]

KRetryInterval

const TIntKRetryInterval

KRunWaitTimeout

const TLitC8< sizeof("RunWaitTimeoutSeconds")>KRunWaitTimeout[static]

KSISCompatibleIfNoTargetDevices

const TLitC8< sizeof("SISCompatibleIfNoTargetDevices")>KSISCompatibleIfNoTargetDevices[static]

KSWIObserverRetryDelay

const TIntKSWIObserverRetryDelay[static]

Delay in microseconds before the client re-tries to connect to the SWI Observer.

KSisHelperServerUid3

const TUidKSisHelperServerUid3

KSisHelperVersionBuild

const TIntKSisHelperVersionBuild

KSisHelperVersionMajor

const TIntKSisHelperVersionMajor

KSisHelperVersionMinor

const TIntKSisHelperVersionMinor

KSwiObserverShutdownPeriod

const TIntKSwiObserverShutdownPeriod

Delay in microseconds before the SWI Observer is shut down, after the last remaining session has been closed.

KSwiObserverVerBuild

const TIntKSwiObserverVerBuild

SWI Observer version build component.

KSwiObserverVerMajor

const TIntKSwiObserverVerMajor

SWI Observer version major component.

KSwiObserverVerMinor

const TIntKSwiObserverVerMinor

SWI Observer version minor component.

KSwisOperationMask

const TUintKSwisOperationMask

Software install operation mask - 0xFF.

KSwisOperationStatusMask

const TUintKSwisOperationStatusMask

Software install operation status mask - 0xFF00.

KSwisPolicyFile

const TLitC< sizeof(L"z:\\system\\data\\swipolicy.ini")/2 >KSwisPolicyFile[static]

KUidSoftwareInstallKey

const TUintKUidSoftwareInstallKey

This key and values that follow are now aliased to those defined in the header base header SaCls.h. This is necessary so Core OS components can still be dependent on software install. DO NOT change the assigned values here, update sacls.h for aliased definitions.

KUidSwiObserver

const TUidKUidSwiObserver

Hosting the executable's secure ID. Required to launch the process.

See also: KSwiObserverImageName

KUserCapabilities

const TLitC8< sizeof("UserCapabilities")>KUserCapabilities[static]

KVariableLanguage

const TIntKVariableLanguage[static]

KVariableRemoteInstall

const TIntKVariableRemoteInstall[static]

Member Enumeration Documentation

Enum StateMachinePanic

Panic ID for panics raised in state machine

EnumeratorValueDescription
EStateError

Enum TDevCertWarningState

EnumeratorValueDescription
ENoDevCerts0
EFoundDevCerts1
EDevCertsWarned2

Enum TErrorDialog

Software Install error dialog type for SISX files.

See also: MUiHandler::DisplayErrorL()

EnumeratorValueDescription
EUiAlreadyInRomCannot overwrite ROM component.
EUiMissingDependencyMissing a dependency.
EUiRequireVerA dependency exists on a specific version of an application which is different from the one installed.
EUiRequireVerOrGreaterA dependency requires a version of an application which is greater than the one installed. */.
EUiFileCorruptSISX file corrupt, checksums stored in file do not match actual.
EUiDiskNotPresentA removable media drive had no media while trying to access it.
EUiCannotReadWe cannot read a file which is needed for us to proceed.
EUiCannotDeleteWe are forbidden to delete a certain file.
EUiInvalidFileNameA filename given inside the SISX package is not valid.
EUiFileNotFoundA file needed to proceed cannot be found.
EUiInsufficientSpaceOnDriveThere was insufficient space left on the drive to perform an operation.
EUiCapabilitiesCannotBeGrantedThe applications requires system capability it is not signed for.
EUiUnknownFileFile to install is not a recognized SISX file.
EUiMissingBasePackageA base package was missing when installing an augmentation or a partial upgrade, the descriptor parameter contains a TPckg<TUid> with the uid of the missing application, which will be the same as the uid of the package being installed.
EUiConstraintsExceededConstraints imposed by a developer mode certificate have been exceeded.
EUiSIDViolationThe package contains a file with a protected SID which is not signed for.
EUiVIDViolationThe package contains a file with a protected VID which is not signed for.
EUiNoMemoryInDrive
EUiUIDPackageViolation< No enough space in the selected drive to install the package.

The package uid is protected but not signed for.

EUiOSExeViolationThe package contains an invalid eclipsing EXE that would eclipse an exe in ROM.
EUiSIDMismatch
EUiBlockingEclipsingFile< Application SID doesnt match with existing SID in private Directory.

Enum TFileFlag

Describes various information about a file which has been written into the log file as a record.

EnumeratorValueDescription
EFileAdded0x01The file was copied to the system.
EFileDeleted0x02The file was deleted from the system.
EFileDll0x10The file is a DLL.
EFileExe0x20The file is an EXE.

Enum TFileTextOption

Text file display options. This controls which type of dialog appears when using MUiHandler::DisplayTextL().

See also: MUiHandler::DisplayTextL()

EnumeratorValueDescription
EInstFileTextOptionContinue0It is recommended that the UI displays a dialog containing a Continue button. On exiting the dialog, installation continues regardless of the dialog's return value.
EInstFileTextOptionSkipOneIfNoIt is recommended that the UI displays a dialog containing Yes/No buttons. The software installer skips installing the next file if the dialog returns false (user pressed No). It will install the next file if the dialog returns true (user pressed Yes).
EInstFileTextOptionAbortIfNoIt is recommended that the UI displays a dialog containing Yes/No buttons. The software installer continues with the installation if the dialog returns true (user pressed Yes). It will abort the installation if the dialog returns false (user pressed No).
EInstFileTextOptionExitIfNoSame as EInstFileTextOptionAbortIfNo.
EInstFileTextOptionForceAbortIt is recommended that UI display a TextContinue dialog.On exiting the dialog , installation must abort regardless of the dialog's return value.

Enum TFlagFileOperation

A flag file whose presence indicates to the client that there are logfiles left in the observer's private dir, so the client have to start the observer to get the files processed.

EnumeratorValueDescription
EDeleteFlagFile
ECreateFlagFile

Enum TInstallCancellableEvent

Software Install event types which can be cancelled.

See also: MUiHandler::HandleInstallCancellableEventL()

EnumeratorValueDescription
EEventRemovingFilesFiles are being removed.
EEventShuttingDownAppsSome applications are being shut down.
EEventCopyingFilesFiles are being copied.
EEventOcspCheckStartCertificate status check is being carried out.

Enum TInstallEvent

Software Install event type.

See also: MUiHandler::HandleInstallEventL()

Note: EEventAbortedInstall and EEventAbortedUnInstall are now considered as superfluous and are no longer generated. The application knows when it requests a cancel, and knows the cancel is complete when either the synchronous Launcher call returns or the asynchronous CAsyncLauncher request completes.

EnumeratorValueDescription
EEventSetProgressBarFinalValueGives the final value for the progress bar.
EEventUpdateProgressBarThe progress bar must be updated.
EEventAbortedInstallThe installation has been aborted - NOT generated.
EEventCompletedInstallThe installation has been completed.
EEventCompletedUnInstallThe uninstallation has been completed.
EEventAbortedUnInstallThe uninstallation has been aborted - NOT generated.
EEventCompletedNoMessageThe operation has been completed.
EEventLeaveAn error has occurred: a function issued a "leave".
EEventOcspCheckEndThe certificate revocation check has been completed.
EEventDevCertThe installed application is signed by devcert.

Enum TInstallServerMessage

Enum TInstallServerPanic

A bad client is panicked by SWIS with these codes

Enum TIntegrityServicesEvent

Enum TOperationType

A set of enumerated values is used to identify which SWI operation is in progress.

EnumeratorValueDescription
EOpInstall0
EOpUninstall
EOpRestore

Enum TPackageType

A set of enumerated values which is used to indicate the type of the package which has influenced from the current SWI operation.

Enum TQuestionDialog

Software Install generic question type.

See also: MUiHandler::DisplayQuestionL()

EnumeratorValueDescription
EQuestionIncompatibleAsk whether to install an incompatible installation on the device.
EQuestionOverwriteFileAsk whether to overwrite a file, which is not part of any package installation. The descriptor parameter contains the name of the file which is being overwritten.

Enum TRestoreFileMessage

Restore file messages pass parameters in these message slots

Enum TRestoreMessage

Restore messages pass parameters in these message slots

Enum TRevocationDialogMessage

Message type for the revocation check result dialog.

See also: MUiHandler::DisplayRevocationL()

EnumeratorValueDescription
EInvalidRevocationServerUrlThe OCSP server URL provided is invalid.
EUnableToObtainCertificateStatusIt is not possible to obtain the certificate status.
EResponseSignatureValidationFailureIt was not possible to validate the OCSP server response signature.
EInvalidRevocationServerResponseThe OCSP server reply is invalid.
EInvalidCertificateStatusInformationThe certificate status information is invalid.
ECertificateStatusIsUnknownThe certificate status is unknown.
ECertificateStatusIsUnknownSelfSignedThe certificate status is unknown, but this is expected for self-signed.
ECertificateStatusIsRevokedThe certificate has been revoked.

Enum TRevocationStatus

An enumeration providing information regarding the certificate revocation status of a controller. The order of the members is important and should not be changed as it is relied on elsewhere.

EnumeratorValueDescription
EUnknown20

The revocation status is unknown, the associated registry entry has been populated from an old database

EOcspNotPerformed10

OCSP revocation check not performed due to user decision or failed validation

EOcspRevoked20

1 or more required certificate(s) were revoked.

EOcspUnknown30

1 or more certificates were 'unknown' to the OCSP server

EOcspTransient40

1 or more checks resulted in transient error

EOcspGood50

All certificate chains good

Enum TSignatureValidationResult

Software Install signature validation result.

See also: MUiHandler::DisplaySecurityWarningL()

EnumeratorValueDescription
EValidationSucceededThe signature has been validated successfully.
ESignatureSelfSignedThe signature validates correctly, but chains back to a self-signed root.
ENoCertificateCannot find the certificate.
ECertificateValidationErrorAn error has occurred during signature validation.
ESignatureNotPresentThere is no signature to verify.
ESignatureCouldNotBeValidatedThe signature could not be validated.
ENoCodeSigningExtensionThe certificate is not trusted for code signing usage.
ENoSupportedPolicyExtensionCannot find the certificate policies.
EMandatorySignatureMissingA signature resolving to one of the mandatory certificate cannot be found.

Enum TSisHelperMessage

SISHelper server messages

EnumeratorValueDescription
ESisHelperGetControllerRetrieve SISController.
ESisHelperExtractFileCopy / decompress a file.
ESisHelperFillDrivesAndSpacesReturn available disk drives and spaces.
ESisHelperOpenDrmContentEvaluate the intent for this installation.
ESisHelperExecuteDrmIntentExecute the intent for this installation.
ESisHelperSetupAsyncExtractionBegin copy / decompress part of a file.
ESisHelperAsyncExtractionContinue copy / decompress part of a file.
ESisHelperEndAsyncExtractionEnd copy / decompress part of a file.
ESisHelperCreateSisStubCreate a .SIS stub file.
ESisHelperIsStubQuery whether the SIS file contains any data, if not it's a stub (preinstalled).
ESisHelperGetSisFileDriveFind the drive letter the SIS is installed from. (-1) if unknown.
ESisHelperIsSisFileReadOnlyCheck if the SIS file is read only (affects whether to delete on uninstall of preinstalled package.).
ESisHelperGetSisFileNameGet name with path of SIS file.
ESisHelperGetControllerFromSisRetrieve SISController from the specified SISX file.
ESisHelperGetEquivalentLanguagesRetrieve fetching equivalent languages.

Enum TSisHelperPanic

Panic code for panicking a badly written client

EnumeratorValueDescription
EPanicBadDescriptor
EPanicIllegalFunction
EPanicAlreadyReceiving
EPanicBadStartupDataType

Unknown startup data type (see TSisHelperStartParams::TType)

EPanicBadDataProvider

Bad interface pointer passed in startup data

Enum TSisPackageTrust

EnumeratorValueDescription
ESisPackageUnsignedOrSelfSigned0Untrusted - Application is unsigned or self-signed.
ESisPackageValidationFailed50Untrusted - Application's Certificate chain validation failed.
ESisPackageCertificateChainNoTrustAnchor100Untrusted - Application's Certificate chain validated but no matching issuer certificate could be found in the certstore.
ESisPackageCertificateChainValidatedToTrustAnchor200Trusted - Application's Certificate chain validated to an issuer certificate in the certstore.
ESisPackageChainValidatedToTrustAnchorOCSPTransientError300Trusted - Application's Certificate chain validated and OCSP failed with a transient error.
ESisPackageChainValidatedToTrustAnchorAndOCSPValid400Trusted - Application's Certificate chain validated and OCSP response was ok.
ESisPackageBuiltIntoRom500Trusted - Application is built into device ROM.

Enum TSwiLogTypes

Enum TSwiObserverFunction

Functions supported by a SWI Observer session.

EnumeratorValueDescription
ERegisterToObserver0Registers to the SWI Observer.
ETransferFileHandleTransfer the observation file handle.
ESwiCommitStart processing the observation file.

Enum TSwisOperation

Software install operations states.

EnumeratorValueDescription
ESwisNoneESASwisNone0x00 No operation
ESwisInstallESASwisInstall0x01 Swis install operation is in progress
ESwisUninstallESASwisUninstall0x02 Swis uninstall operation is in progress
ESwisRestoreESASwisRestore0x04 Swis restore operation is in progress

Enum TSwisOperationStatus

Software Install operation status value.

EnumeratorValueDescription
ESwisStatusNoneESASwisStatusNone0x0000 The current operation is in progress
ESwisStatusSuccessESASwisStatusSuccess0x0100 The current/last operation succeeded
ESwisStatusAbortedESASwisStatusAborted0x0200 The current/last operation failed

Enum TValidationStatus

An enumeration providing information regarding the certificate validation status of a controller. The order of the members is important and should not be changed as it is relied on elsewhere.

EnumeratorValueDescription
EUnknown0

The validation status is unknown, the associated registry entry has been populated from an old database

EExpired10

Signed and validated at install time but one or more required certificate chains was expired at the time of a subsequent revocation check

EInvalid20

The validation status is invalid All required certificate chains failed validation

EUnsigned30

Application is unsigned, no certificates

EValidated40

1 or more required chains validated but none to a matching issuer certificate in the certstore

EValidatedToAnchor50

1 or more certificate chains validated to an issuer certificate in the certstore

EPackageInRom60

Package was installed in ROM

Member Function Documentation

CopyArrayL ( RArray< T > &, const RArray< T > & )

voidCopyArrayL(RArray< T > &aNew,
const RArray< T > &aOld
)

CopyPointerArrayL ( RPointerArray< T > &, const RPointerArray< T > & )

voidCopyPointerArrayL(RPointerArray< T > &aNew,
const RPointerArray< T > &aOld
)

ExternalizeArrayL ( const RArray< T > &, RWriteStream & )

voidExternalizeArrayL(const RArray< T > &aArray,
RWriteStream &aStream
)

ExternalizePointerArrayL ( const RPointerArray< T > &, RWriteStream & )

voidExternalizePointerArrayL(const RPointerArray< T > &aArray,
RWriteStream &aStream
)

FindAllAdornedVariantsL ( RFs &, const TDesC &, const TDesC &, RPointerArray< HBufC > & )

voidFindAllAdornedVariantsL(RFs &aFs,
const TDesC &aSearchNameWild,
const TDesC &aSearchPath,
RPointerArray< HBufC > &aAdornedFileNamesFound
)

Searches through the file system looking for all variants of searchNameWild

ParameterDescription
aFshandle to a fileserver session
aSearchNameWildrepresents the filename pattern that is to be searched for (i.e: afile{????????}.ext)
aSearchPathrepresents the path to be searched through on all drives (i.e: \)
aAdornedFileNamesFoundall files matching the pattern are returned in this array (contains fully qualified filenames i.e. full path+name+ext)

GenerateSearchNameWildL ( const TDesC &, TDes & )

voidGenerateSearchNameWildL(const TDesC &aFileName,
TDes &aSearchNameWild
)

Generates adorned filename pattern using wild chars for searching

ParameterDescription
aFileNamethe filename that is the base of the pattern; can be either unadorned or adorned name (i.e: somename.ext or somename{12345678}.ext)
aSearchNameWildthe calculated pattern output (i.e: somename{????????}.ext)

GetAllUids ( RArray< TUid > & )

IMPORT_C TIntGetAllUids(RArray< TUid > &aUidList)

Returns an array of package Uids published by the installer.

ParameterDescription
aUidListArray which holds a list of Uids that is published.

Returns: KErrNone in case of success otherwise one of the system-wide error codes.

GetUnadornedFileName ( const TDesC &, TDes & )

voidGetUnadornedFileName(const TDesC &aAdornedFilename,
TDes &aUnadornedFilename
)

Checks if the input filename is adorned and cuts off the adorned part

ParameterDescription
aAdornedFilenamebuffer containing the input filename (possibly adorned)

InternalizeArrayL ( RArray< T > &, RReadStream & )

voidInternalizeArrayL(RArray< T > &aArray,
RReadStream &aStream
)

InternalizePointerArrayL ( RPointerArray< T > &, RReadStream & )

voidInternalizePointerArrayL(RPointerArray< T > &aArray,
RReadStream &aStream
)

IsAdornedVariationOfL ( const TDesC &, const TDesC & )

TBool IsAdornedVariationOfL(const TDesC &aFileName1,
const TDesC &aFileName2
)

Checks if the two input filenames are variants of each other (belong to the same adorned name "family")

ParameterDescription
aFileName1first name to compare (full path and name)
aFileName2second name to compare (full path and name)

NONSHARABLE_CLASS ( CObservationData )

NONSHARABLE_CLASS(CObservationData)

Class for a single observation record data. Contains the basic information about a changed file by the SWI operation. Each observed SWI event in an observation log corresponds to a single observation data.

NONSHARABLE_CLASS ( CObservationFilter )

NONSHARABLE_CLASS(CObservationFilter)

Class that represents a filter list which is used to filter SWI observation. SWI Observer ECOM plug-in implementations declares the folders in which they are intrested by using this class.

NONSHARABLE_CLASS ( CObservationHeader )

NONSHARABLE_CLASS(CObservationHeader)

Class that contains all observation records related with a specific package. In an observation log file, each header info corresponds to a specific package.

NONSHARABLE_CLASS ( CProgressBarValuePublisher )

NONSHARABLE_CLASS(CProgressBarValuePublisher)

This class is used to publish the percentage value of the installation progress bar. The progress bar value is published by using a publish&subscribe property.

See also: Swi::KUidSwiProgressBarValueKey.

NONSHARABLE_CLASS ( CUninstalledPackageEntry )

NONSHARABLE_CLASS(CUninstalledPackageEntry)

Uninstalled application entry class.

This class is not externally instantiable. It is returned as a result of querying for a list of uninstalled packages present on a removable drive. Each object of this type represents one uninstalled package. Methods can be called on this object to retrieve the package details such as Package UID, Name, Vendor, Version and Type.

NONSHARABLE_CLASS ( UninstalledSisPackages )

NONSHARABLE_CLASS(UninstalledSisPackages)

This class provides static methods for managing uninstalled native packages (SIS files) that are taking up space on removable drives.

PanicClient ( const RMessagePtr2 &, TInstallServerPanic )

voidPanicClient(const RMessagePtr2 &aMessage,
TInstallServerPanicaPanic
)[static]

Local function to panic an offending client

ProgressBarChunkIncrement ( TInt64 )

TInt ProgressBarChunkIncrement(TInt64aSize)[inline]

Utility function to get how much to update the progress bar for a certain size of chunk copied.

ProgressBarFileIncrement ( TInt64 )

TInt ProgressBarFileIncrement(TInt64aSize)[inline]

Utility function to get how much to update the progress bar for a certain size of file copied. The smallest increment is KProgressBarEndIncrement since we always want to show that some progress has occurred.

SwiObserverImageFullUid ( )

TUidType SwiObserverImageFullUid()[inline]

This function is defined because there is no literal constructor for TUidType. It returns the SWI Observer executable's UID, which is used to ensure the client side code launches the correct server process, as opposed to another application which uses the same executable name.

Returns: TUidType The SWI Observer executable's full UID.

SwiObserverVersion ( )

TVersion SwiObserverVersion()[inline]

This function is defined because there is no literal constructor for TVersion.

Returns: Defines a version number which the client side code can use to open the SWI Obserevr. If the client code was built with a higher version number, then it cannot open the SWI Observer. This ensures that a client only talks to the SWI Observer version is at least as high as its own.

_LIT ( KBinPath, "\\sys\\bin\\" )

_LIT(KBinPath,
"\\sys\\bin\\"
)

_LIT ( KControllerFileFilter, "*.ctl" )

_LIT(KControllerFileFilter,
"*.ctl"
)

_LIT ( KControllerFileNameFormat, "%S%S%08x\\%08x_%04x.ctl" )

_LIT(KControllerFileNameFormat,
"%S%S%08x\\%08x_%04x.ctl"
)

_LIT ( KHashPath, "\\sys\\hash\\" )

_LIT(KHashPath,
"\\sys\\hash\\"
)

_LIT ( KHashPathFormat, "%c:%S" )

_LIT(KHashPathFormat,
"%c:%S"
)

_LIT ( KImportDir, "\\import\\" )

_LIT(KImportDir,
"\\import\\"
)

_LIT ( KLogDir, "\\sys\\install\\log.txt" )

_LIT(KLogDir,
"\\sys\\install\\log.txt"
)

_LIT ( KObserverFlagFileNameFormat, ":\\tmp\\%08xlog.flag" )

_LIT(KObserverFlagFileNameFormat,
":\\tmp\\%08xlog.flag"
)

_LIT ( KObserverLogDir, "log_obs\\" )

_LIT(KObserverLogDir,
"log_obs\\"
)

A log file in this directory, when it is being processed.

_LIT ( KPreInstalledPath, "\\system\\install\\" )

_LIT(KPreInstalledPath,
"\\system\\install\\"
)

_LIT ( KPrivatePath, "\\private\\" )

_LIT(KPrivatePath,
"\\private\\"
)

_LIT ( KPrivatePathFormat, "?:\\private\\" )

_LIT(KPrivatePathFormat,
"?:\\private\\"
)

_LIT ( KRegistryPath, "\\sys\\install\\sisregistry\\" )

_LIT(KRegistryPath,
"\\sys\\install\\sisregistry\\"
)

_LIT ( KResourcePath, "\\resource\\" )

_LIT(KResourcePath,
"\\resource\\"
)

_LIT ( KSidCacheFileName, "sidcache.cache" )

_LIT(KSidCacheFileName,
"sidcache.cache"
)

_LIT ( KSisHelperServerName, "!SISHELPER" )

_LIT(KSisHelperServerName,
"!SISHELPER"
)

_LIT ( KSwiDaemonPrivateDirectory, "\\private\\10202dce\\" )

_LIT(KSwiDaemonPrivateDirectory,
"\\private\\10202dce\\"
)

_LIT ( KSwiLogDir, "log_swi\\" )

_LIT(KSwiLogDir,
"log_swi\\"
)

A log file in this directory, if it has not started to be processed yet.

_LIT ( KSwiObserverImageName, "swiobserver.exe" )

_LIT(KSwiObserverImageName,
"swiobserver.exe"
)

Executable which hosts SWI Observer. Required to launch the process.

See also: KUidSwiObserver

_LIT ( KSwiObserverName, "!SwiObserver" )

_LIT(KSwiObserverName,
"!SwiObserver"
)

Identifies SWI Observer Symbian OS server.

_LIT ( KSysInstallPath, "\\sys\\install\\integrityservices\\" )

_LIT(KSysInstallPath,
"\\sys\\install\\integrityservices\\"
)

_LIT ( KSysInstallTempPath, "\\sys\\install\\temp\\" )

_LIT(KSysInstallTempPath,
"\\sys\\install\\temp\\"
)

_LIT ( KSysPath, "\\sys\\" )

_LIT(KSysPath,
"\\sys\\"
)

_LIT ( KUninstallLogPathFormat, "%c:\\sys\\uninstall\\%08x_%08x\\%c\\uninstall.log" )

_LIT(KUninstallLogPathFormat,
"%c:\\sys\\uninstall\\%08x_%08x\\%c\\uninstall.log"
)

operator! ( const TExpressionResult & )

TExpressionResult operator!(const TExpressionResult &aExpression)[inline]

operator!= ( const TExpressionResult &, const TExpressionResult & )

TExpressionResult operator!=(const TExpressionResult &aLhs,
const TExpressionResult &aRhs
)[inline]

operator< ( const TExpressionResult &, const TExpressionResult & )

TExpressionResult operator<(const TExpressionResult &aLhs,
const TExpressionResult &aRhs
)[inline]

operator<= ( const TExpressionResult &, const TExpressionResult & )

TExpressionResult operator<=(const TExpressionResult &aLhs,
const TExpressionResult &aRhs
)[inline]

operator== ( const TExpressionResult &, const TExpressionResult & )

TExpressionResult operator==(const TExpressionResult &aLhs,
const TExpressionResult &aRhs
)[inline]

operator> ( const TExpressionResult &, const TExpressionResult & )

TExpressionResult operator>(const TExpressionResult &aLhs,
const TExpressionResult &aRhs
)[inline]

operator>= ( const TExpressionResult &, const TExpressionResult & )

TExpressionResult operator>=(const TExpressionResult &aLhs,
const TExpressionResult &aRhs
)[inline]

Member Class/Struct/Union/Namespaces