Swi::Sis::CController Class Reference

class Swi::Sis::CController : public Swi::Sis::CField

This class represents a Controller. This is a structure found in files. It is described in SGL.GT0188.251.

Inherits from

Public Member Functions
~CController()
IMPORT_C voidAddChainIndex(TInt)
const CCertChainConstraints *CertChainConstraints()
const RArray< TInt > &CertChainIndices()
IMPORT_C voidClearCertChainIndices()
TUint32 DataIndex()
TInt64 DataOffset()
IMPORT_C CMessageDigest *GenerateControllerHashLC(const TDesC8 &)
const CInfo &Info()
const CInstallBlock &InstallBlock()
TBool IsSignedBySuCert()
const CLogo *Logo()
IMPORT_C CController *NewL(MSisDataProvider &, TReadTypeBehaviour)
IMPORT_C CController *NewL(MSisDataProvider &, TInt64 &, TReadTypeBehaviour)
IMPORT_C CController *NewL(TPtrProvider &, TReadTypeBehaviour)
IMPORT_C CController *NewL(TPtrProvider &, TInt64 &, TReadTypeBehaviour)
IMPORT_C CController *NewLC(MSisDataProvider &, TInt64 &, TReadTypeBehaviour)
IMPORT_C CController *NewLC(MSisDataProvider &, TReadTypeBehaviour)
IMPORT_C CController *NewLC(TPtrProvider &, TReadTypeBehaviour)
IMPORT_C CController *NewLC(TPtrProvider &, TInt64 &, TReadTypeBehaviour)
const CPrerequisites &Prerequisites()
const CProperties &Properties()
IMPORT_C TIntRemoveWithLastDependent()
IMPORT_C voidSetCertChainConstraints(CCertChainConstraints *)
IMPORT_C voidSetRemoveWithLastDependent()
voidSetSignedBySuCert(TBool)
voidSetTrust(TSisPackageTrust)
const RPointerArray< CSignatureCertificateChain > &SignatureCertificateChains()
const CSupportedLanguages &SupportedLanguages()
const CSupportedOptions &SupportedOptions()
TSisPackageTrust Trust()
TSisTrustStatus &TrustStatus()
Private Member Functions
CController()
voidConstructL(MSisDataProvider &, TInt64 &, TReadTypeBehaviour)
voidConstructL(TPtrProvider &, TInt64 &, TReadTypeBehaviour)
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::Sis::CField::CField()
Swi::Sis::CField::CalculateCrcL(MSisDataProvider &,const TInt64,TUint16 &)
Swi::Sis::CField::CheckedReadL(MSisDataProvider &,TDes8 &,TInt,TInt64 &)
Swi::Sis::CField::CheckedReadL(MSisDataProvider &,TDes8 &,TInt64 &)
Swi::Sis::CField::ConstructL(MSisDataProvider &,TFieldType,TInt64 &,TReadTypeBehaviour)
Swi::Sis::CField::ConstructL(TPtrProvider &,TFieldType,TInt64 &,TReadTypeBehaviour)
Swi::Sis::CField::CreateHeader(TFieldType,TFieldLength,TDes8 &)
Swi::Sis::CField::EnsureAlignedL(MSisDataProvider &,TInt64,TInt64 &,TReadTypeBehaviour)
Swi::Sis::CField::EnsureAlignedL(TPtrProvider &,TInt64,TInt64 &,TReadTypeBehaviour)
Swi::Sis::CField::FieldType()const
Swi::Sis::CField::HeaderSize(TArrayStatus)const
Swi::Sis::CField::Length()const
Swi::Sis::CField::PaddingSize()const
Swi::Sis::CField::ReadEnumL(MSisDataProvider &,EnumType &,TInt64 &)
Swi::Sis::CField::ReadEnumL(TPtrProvider &,EnumType &,TInt64 &)
Swi::Sis::CField::ReadMemberArrayL(MSisDataProvider &,RPointerArray< T > &,TFieldType,TInt64 &,TReadTypeBehaviour)
Swi::Sis::CField::ReadMemberArrayL(TPtrProvider &,RPointerArray< T > &,TFieldType,TInt64 &,TReadTypeBehaviour)
Swi::Sis::CField::ReadMemberCollectionL(MSisDataProvider &,RPointerArray< T > &,TFieldType,TFieldType,TInt64 &,TReadTypeBehaviour)
Swi::Sis::CField::ReadMemberCollectionL(TPtrProvider &,RPointerArray< T > &,TFieldType,TFieldType,TInt64 &,TReadTypeBehaviour)
Swi::Sis::CField::ReadTTypeL(MSisDataProvider &,T &,TInt64 &)
Swi::Sis::CField::ReadTTypeL(TPtrProvider &,T &,TInt64 &)
Swi::Sis::CField::SkipUnknownFieldsL(MSisDataProvider &,TInt64,TInt64 &,TReadTypeBehaviour)
Swi::Sis::CField::SkipUnknownFieldsL(TPtrProvider &,TInt64,TInt64 &,TReadTypeBehaviour)
Swi::Sis::CField::~CField()
Inherited Enumerations
Swi::Sis::CField:TArrayStatus
Private Attributes
CCertChainConstraints *iCertChainConstraints
RArray< TInt >iCertChainIndices
CDataIndex *iDataIndex
TInt64 iDataOffset
TBool iHasExe
CInfo *iInfo
CInstallBlock *iInstallBlock
CSupportedLanguages *iLanguages
CLogo *iLogo
CPrerequisites *iPrerequisites
CProperties *iProperties
TInt iRemoveWithLastDependent
RPointerArray< CSignatureCertificateChain >iSignatureCertificateChains
TBool iSignedBySuCert
CSupportedOptions *iSupportedOptions
TSisPackageTrust iTrust
TSisTrustStatus *iTrustStatus

Constructor & Destructor Documentation

CController()

CController()[private]

~CController()

IMPORT_C~CController()[virtual]

Member Functions Documentation

AddChainIndex(TInt)

IMPORT_C voidAddChainIndex(TIntaIndex)const

Parameters

TInt aIndex

CertChainConstraints()

const CCertChainConstraints *CertChainConstraints()const [inline]

Get the instance of the CCertChainConstraint.

CertChainIndices()

const RArray< TInt > &CertChainIndices()const [inline]

ClearCertChainIndices()

IMPORT_C voidClearCertChainIndices()const

ConstructL(MSisDataProvider &, TInt64 &, TReadTypeBehaviour)

voidConstructL(MSisDataProvider &aDataProvider,
TInt64 &aBytesRead,
TReadTypeBehaviouraTypeReadBehaviour
)[private]

The second-phase constructor.

Parameters

MSisDataProvider & aDataProviderAn instance of a MSisDataProvider to read the entity from.
TInt64 & aBytesRead
TReadTypeBehaviour aTypeReadBehaviourWhether we need to check the sis type or not.

ConstructL(TPtrProvider &, TInt64 &, TReadTypeBehaviour)

voidConstructL(TPtrProvider &aDataProvider,
TInt64 &aBytesRead,
TReadTypeBehaviouraTypeReadBehaviour
)[private]

The second-phase in-place constructor.

Parameters

TPtrProvider & aDataProviderAn instance of a TPtrProvider to read the entity from.
TInt64 & aBytesRead
TReadTypeBehaviour aTypeReadBehaviourWhether we need to check the sis type or not.

DataIndex()

TUint32 DataIndex()const [inline]

DataOffset()

TInt64 DataOffset()const [inline]

GenerateControllerHashLC(const TDesC8 &)

IMPORT_C CMessageDigest *GenerateControllerHashLC(const TDesC8 &aController)

Generate a hash for the controller from SISInfo (without the length) to SISInstallBlock (i.e. except the SISSignatueCertificateChain and SISDataIndex)

Parameters

const TDesC8 & aControllerSISController raw data

Info()

const CInfo &Info()const [inline]

Every SISController includes a SISInfo structure which can be accessed using this function.

InstallBlock()

const CInstallBlock &InstallBlock()const [inline]

Every SISController includes a SISInstallBlock structure which can be accessed using this function.

IsSignedBySuCert()

TBool IsSignedBySuCert()const [inline]

Get the System upgrade Cert status associated the SIS package handled by this controller

Logo()

const CLogo *Logo()const [inline]

A SISController may contain a SISLogo structure, it can be accessed using this function.

NewL(MSisDataProvider &, TReadTypeBehaviour)

IMPORT_C CController *NewL(MSisDataProvider &aDataProvider,
TReadTypeBehaviouraTypeReadBehaviour = EReadType
)[static]

This creates a new CController object.

Parameters

MSisDataProvider & aDataProviderAn instance of a MSisDataProvider to read the entity from.
TReadTypeBehaviour aTypeReadBehaviour = EReadTypeWhether we need to check the sis type or not.

NewL(MSisDataProvider &, TInt64 &, TReadTypeBehaviour)

IMPORT_C CController *NewL(MSisDataProvider &aDataProvider,
TInt64 &aBytesRead,
TReadTypeBehaviouraTypeReadBehaviour = EReadType
)[static]

This creates a new CController object.

Parameters

MSisDataProvider & aDataProviderAn instance of a MSisDataProvider to read the entity from.
TInt64 & aBytesRead
TReadTypeBehaviour aTypeReadBehaviour = EReadTypeWhether we need to check the sis type or not.

NewL(TPtrProvider &, TReadTypeBehaviour)

IMPORT_C CController *NewL(TPtrProvider &aDataProvider,
TReadTypeBehaviouraTypeReadBehaviour = EReadType
)[static]

This creates a new CController object.

Parameters

TPtrProvider & aDataProviderAn instance of TPtrProvider to read the controller from.
TReadTypeBehaviour aTypeReadBehaviour = EReadTypeWhether we need to check the sis type or not.

NewL(TPtrProvider &, TInt64 &, TReadTypeBehaviour)

IMPORT_C CController *NewL(TPtrProvider &aDataProvider,
TInt64 &aBytesRead,
TReadTypeBehaviouraTypeReadBehaviour = EReadType
)[static]

This creates a new CController object in place.

Parameters

TPtrProvider & aDataProviderAn instance of TPtrProvider to read the controller from.
TInt64 & aBytesRead
TReadTypeBehaviour aTypeReadBehaviour = EReadTypeWhether we need to check the sis type or not.

NewLC(MSisDataProvider &, TInt64 &, TReadTypeBehaviour)

IMPORT_C CController *NewLC(MSisDataProvider &aDataProvider,
TInt64 &aBytesRead,
TReadTypeBehaviouraTypeReadBehaviour = EReadType
)[static]

This creates a new CController object and places it on the cleanup stack.

Parameters

MSisDataProvider & aDataProviderAn instance of a MSisDataProvider to read the entity from.
TInt64 & aBytesRead
TReadTypeBehaviour aTypeReadBehaviour = EReadTypeWhether we need to check the sis type or not.

NewLC(MSisDataProvider &, TReadTypeBehaviour)

IMPORT_C CController *NewLC(MSisDataProvider &aDataProvider,
TReadTypeBehaviouraTypeReadBehaviour = EReadType
)[static]

This creates a new CController object and places it on the cleanup stack.

Parameters

MSisDataProvider & aDataProviderAn instance of a MSisDataProvider to read the entity from.
TReadTypeBehaviour aTypeReadBehaviour = EReadTypeWhether we need to check the sis type or not.

NewLC(TPtrProvider &, TReadTypeBehaviour)

IMPORT_C CController *NewLC(TPtrProvider &aDataProvider,
TReadTypeBehaviouraTypeReadBehaviour = EReadType
)[static]

This creates a new CController object and places it on the cleanup stack.

Parameters

TPtrProvider & aDataProviderAn instance of TPtrProvider to read the controller from.
TReadTypeBehaviour aTypeReadBehaviour = EReadTypeWhether we need to check the sis type or not.

NewLC(TPtrProvider &, TInt64 &, TReadTypeBehaviour)

IMPORT_C CController *NewLC(TPtrProvider &aDataProvider,
TInt64 &aBytesRead,
TReadTypeBehaviouraTypeReadBehaviour = EReadType
)[static]

This creates a new CController object in place and places it on the cleanup stack.

Parameters

TPtrProvider & aDataProviderAn instance of TPtrProvider to read the controller from.
TInt64 & aBytesRead
TReadTypeBehaviour aTypeReadBehaviour = EReadTypeWhether we need to check the sis type or not.

Prerequisites()

const CPrerequisites &Prerequisites()const [inline]

Every SISController includes a list of prerequisites which must be met for the installation to proceed. Note that, although a CPrerequisites object is always constructed, this might be empty, e.g. no prerequisites are present.

Properties()

const CProperties &Properties()const [inline]

Every SISController includes a list of supported properties encoded in a SISSupportedProperties structure which can be accessed using this function. Note that, although a CProperties object is always constructed, this might be empty, e.g. no properties are present.

RemoveWithLastDependent()

IMPORT_C TIntRemoveWithLastDependent()const

Provide whether the package will be uninstalled after uninstalling last dependent

SetCertChainConstraints(CCertChainConstraints *)

IMPORT_C voidSetCertChainConstraints(CCertChainConstraints *aConstraints)

This sets the instance of the CCertChainConstraint.

Parameters

CCertChainConstraints * aConstraints

SetRemoveWithLastDependent()

IMPORT_C voidSetRemoveWithLastDependent()

Set the status which determines whether the package will be uninstalled after uninstalling last dependent.

SetSignedBySuCert(TBool)

voidSetSignedBySuCert(TBoolaSignedBySuCert)[inline]

Set the System upgrade Cert validation status associated the SIS package handled by this controller

Parameters

TBool aSignedBySuCertThe TBool to be associated with the package

SetTrust(TSisPackageTrust)

voidSetTrust(TSisPackageTrustaTrust)[inline]

Set the trust associated the SIS package handled by this controller

Parameters

TSisPackageTrust aTrustThe TSisPackageTrust to be associated with the package

SignatureCertificateChains()

const RPointerArray< CSignatureCertificateChain > &SignatureCertificateChains()const [inline]

A controller can be signed multiple times. A signature/certificate for a given controller is encoded in a SISSignatureCertificateChain structure. This function returns a list of such structure as an array. Note that if the controller is not signed the returned array will be empty.

SupportedLanguages()

const CSupportedLanguages &SupportedLanguages()const [inline]

Every SISController includes a list of supported language encoded in a SISSupportedLanguages structure which can be accessed using this function. In a well formed SIS file this structure cannot be empty as there must always be a supported language.

SupportedOptions()

const CSupportedOptions &SupportedOptions()const [inline]

Every SISController includes a list of supported options encoded in a SISSupportedOptions structure which can be accessed using this function. Note that, although a CSupportedOptions object is always constructed, this might be empty, e.g. no options are present.

Trust()

TSisPackageTrust Trust()const [inline]

Get the trust associated the SIS package handled by this controller

TrustStatus()

TSisTrustStatus &TrustStatus()const [inline]

Provide the trust status object describing the controller.

This member is not part of the SIS file structure but is information about it that needs to travel through the SWIS. The object is returned non-const from a const member as it is a mutable member of CController.

Member Data Documentation

CCertChainConstraints * iCertChainConstraints

CCertChainConstraints *iCertChainConstraints[private]

RArray< TInt > iCertChainIndices

RArray< TInt >iCertChainIndices[private]

Contains the indexes of the chains check for revocation at install time

CDataIndex * iDataIndex

CDataIndex *iDataIndex[private]

TInt64 iDataOffset

TInt64 iDataOffset[private]

TBool iHasExe

TBool iHasExe[private]

CInfo * iInfo

CInfo *iInfo[private]

CInstallBlock * iInstallBlock

CInstallBlock *iInstallBlock[private]

CSupportedLanguages * iLanguages

CSupportedLanguages *iLanguages[private]

CLogo * iLogo

CLogo *iLogo[private]

CPrerequisites * iPrerequisites

CPrerequisites *iPrerequisites[private]

CProperties * iProperties

CProperties *iProperties[private]

TInt iRemoveWithLastDependent

TInt iRemoveWithLastDependent[private]

RPointerArray< CSignatureCertificateChain > iSignatureCertificateChains

RPointerArray< CSignatureCertificateChain >iSignatureCertificateChains[private]

TBool iSignedBySuCert

TBool iSignedBySuCert[private]

CSupportedOptions * iSupportedOptions

CSupportedOptions *iSupportedOptions[private]

TSisPackageTrust iTrust

TSisPackageTrust iTrust[private]

TSisTrustStatus * iTrustStatus

TSisTrustStatus *iTrustStatus[private]