CMmSIMTsy Class Reference

class CMmSIMTsy : public CMmSubTsyBase

CMmSIMTsy contains mode-independent SIM functionality. Extension request handles and parameters are stored as attributes.

Inherits from

Nested Classes and Structures

Public Member Functions
CMmSIMTsy()
~CMmSIMTsy()
TInt CancelService(const TInt, const TTsyReqHandle)
voidCheckViagHomezoneParamsL()
voidComplete(TInt, TInt)
voidCompleteDeleteSimCbTopic(TInt)
voidCompleteReadViagHomeZoneCacheRespL(RMmCustomAPI::TViagCacheRecordContent *, TInt)
voidCompleteReadViagHomeZoneParamsResp(RMmCustomAPI::TViagParams *, RMmCustomAPI::TViagElements *, TInt)
voidCompleteStartSimCbTopicBrowsing(CArrayFixFlat< RMmCustomAPI::TSimCbTopic > *, TInt)
voidCompleteWriteViagHomeZoneCacheResp(TInt)
voidCompleteWriteViagHomeZoneUHZIUESettingsResp(TInt)
TInt DeregisterNotification(const TInt)
TInt DoExtFuncL(const TTsyReqHandle, const TInt, const TDataPackage &)
voidInit()
CMmSIMTsy *NewL(CMmCustomTsy *)
TInt NumberOfSlotsL(const TInt)
TInt RegisterNotification(const TInt)
CTelObject::TReqModeReqModeL(const TInt)
TBool SupportingIPC(const TInt)
Private Member Functions
voidConstructL(CMmCustomTsy *)
TInt DeleteSimCbTopicL(const TTsyReqHandle, TUint *)
TInt GetNextSimCbTopic(TTsyReqHandle, RMmCustomAPI::TSimCbTopic *)
TInt ReadDynamicViagHomeZoneCacheL(const TTsyReqHandle, RMmCustomAPI::TViagCacheRecordId *, RMmCustomAPI::TViagCacheRecordContent *)
TInt ReadViagHomeZoneCacheCancel(const TTsyReqHandle)
TInt ReadViagHomeZoneCacheL(RMmCustomAPI::TViagCacheRecordId *, RMmCustomAPI::TViagCacheRecordContent *)
TInt ReadViagHomeZoneParamsCancel()
TInt ReadViagHomeZoneParamsL(RMmCustomAPI::TViagParams *, RMmCustomAPI::TViagElement *)
voidResetAndDestroySimCbTopics()
voidSetTypeOfResponse(const TInt, const TTsyReqHandle)
voidStartDynamicCachingL()
TInt StartSimCbTopicBrowsingL(const TTsyReqHandle)
TInt WriteViagHomeZoneCacheCancel()
TInt WriteViagHomeZoneCacheL(RMmCustomAPI::TViagCacheRecordId *, RMmCustomAPI::TViagCacheRecordContent *)
TInt WriteViagHomeZoneUHZIUESettingsCancel()
TInt WriteViagHomeZoneUHZIUESettingsL(RMmCustomAPI::TViagUHZIUESettings *)
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()
CMmSubTsyBase::CMmSubTsyBase()
CMmSubTsyBase::~CMmSubTsyBase()
Public Member Enumerations
enumTSIMRequestType {
ESIMTsyReqHandleUnknown, ESIMRequestTypeReadParams, ESIMRequestTypeReadCache, ESIMRequestTypeWriteCache, ESIMRequestTypeWriteSettings, ESIMRequestTypeStartSimCbTopicBrowsing, ESIMRequestTypeGetNextSimCbTopic, ESIMRequestTypeDeleteSimCbTopic, ESIMRequestTypeMaxNumOfRequests, ESIMRequestTypeUndefined = 0xff
}
Private Attributes
RMmCustomAPI::TViagCacheRecordId *iCurrentlyRetrievedCache
TInt iGetNextSimCbTopicIndex
TInt iLastViagHomeZoneCacheError
CMmCustomTsy *iMmCustomTsy
RPointerArray< TReadViagHomeZoneCacheRequest >iReadViagHomeZoneCacheRequests
TSIMRequestType iReqHandleType
TTsyReqHandle iSIMReqHandles
TInt iSimCbTopicIndexToBeDeleted
CArrayFixFlat< RMmCustomAPI::TSimCbTopic > *iSimCbTopics
CMmTsyReqHandleStore *iTsyReqHandleStore
CArrayFixFlat< RMmCustomAPI::TViagCacheRecordContent > *iViagDynamicCache
RMmCustomAPI::TViagElement *iViagElems
TBool iViagHomeZoneCacheReady
RMmCustomAPI::TViagParams *iViagParams
TBool iViagParamsReadRequested
RMmCustomAPI::TViagCacheRecordContent *iViagReadCacheRecord

Constructor & Destructor Documentation

CMmSIMTsy()

CMmSIMTsy()

C++ default constructor.

~CMmSIMTsy()

~CMmSIMTsy()

Destructor.

Member Functions Documentation

CancelService(const TInt, const TTsyReqHandle)

TInt CancelService(const TIntaIpc,
const TTsyReqHandleaTsyReqHandle
)[virtual]

Cancels request of which IPC number and request handle are given in parameters.

Parameters

const TInt aIpcAn interprocess communication command identifier
const TTsyReqHandle aTsyReqHandleRequest handle

CheckViagHomezoneParamsL()

voidCheckViagHomezoneParamsL()

Sends VIAG homezone parameters read request if requested by client.

Complete(TInt, TInt)

voidComplete(TIntaReqHandleType,
TIntaError
)[virtual]

Calls the needed complete method due the timer expiration

Parameters

TInt aReqHandleType
TInt aError

CompleteDeleteSimCbTopic(TInt)

voidCompleteDeleteSimCbTopic(TIntaError)

Completes delete SIM CB topic request

Parameters

TInt aErrorError value

CompleteReadViagHomeZoneCacheRespL(RMmCustomAPI::TViagCacheRecordContent *, TInt)

voidCompleteReadViagHomeZoneCacheRespL(RMmCustomAPI::TViagCacheRecordContent *aViagRecord,
TIntaError
)

Completes the ReadViagHomeZoneCacheResp response message.

Parameters

RMmCustomAPI::TViagCacheRecordContent * aViagRecordPointer to VIAG Home Zone record content
TInt aErrorError value

CompleteReadViagHomeZoneParamsResp(RMmCustomAPI::TViagParams *, RMmCustomAPI::TViagElements *, TInt)

voidCompleteReadViagHomeZoneParamsResp(RMmCustomAPI::TViagParams *aParams,
RMmCustomAPI::TViagElements *aElems,
TIntaError
)

Completes the ReadViagHomeZoneParamsResp response message.

Parameters

RMmCustomAPI::TViagParams * aParamsPointer to VIAG Home Zone parameters structure
RMmCustomAPI::TViagElements * aElemsPointer to VIAG Home Zone elements structure
TInt aErrorError value

CompleteStartSimCbTopicBrowsing(CArrayFixFlat< RMmCustomAPI::TSimCbTopic > *, TInt)

voidCompleteStartSimCbTopicBrowsing(CArrayFixFlat< RMmCustomAPI::TSimCbTopic > *aTopics,
TIntaError
)

Complete StartSimCbTopicBrowsing

Parameters

CArrayFixFlat< RMmCustomAPI::TSimCbTopic > * aTopicsCB Topics from SIM
TInt aErrorError value

CompleteWriteViagHomeZoneCacheResp(TInt)

voidCompleteWriteViagHomeZoneCacheResp(TIntaError)

Completes the WriteViagHomeZoneCacheResp response message.

Parameters

TInt aErrorError value

CompleteWriteViagHomeZoneUHZIUESettingsResp(TInt)

voidCompleteWriteViagHomeZoneUHZIUESettingsResp(TIntaError)

Completes the WriteViagHomeZoneUHZIUESettings response message.

Parameters

TInt aErrorError value

ConstructL(CMmCustomTsy *)

voidConstructL(CMmCustomTsy *aMmCustomTsy)[private]

By default EPOC constructor is private.

Parameters

CMmCustomTsy * aMmCustomTsy

DeleteSimCbTopicL(const TTsyReqHandle, TUint *)

TInt DeleteSimCbTopicL(const TTsyReqHandleaTsyReqHandle,
TUint *aSimCbTopicNumber
)[private]

Delete Sim Cb Topic

Parameters

const TTsyReqHandle aTsyReqHandleRequest handle
TUint * aSimCbTopicNumberID number of the sim topic

DeregisterNotification(const TInt)

TInt DeregisterNotification(const TIntaIpc)[virtual]

Deregister given notification.

Parameters

const TInt aIpcAn interprocess communication command identifier

DoExtFuncL(const TTsyReqHandle, const TInt, const TDataPackage &)

TInt DoExtFuncL(const TTsyReqHandleaTsyReqHandle,
const TIntaIpc,
const TDataPackage &aPackage
)[virtual]

Handles extended client requests. Uses TRAP to ensure functioning on memory allocation failure.

Parameters

const TTsyReqHandle aTsyReqHandleRequest handle
const TInt aIpcRequest's IPC value
const TDataPackage & aPackageReference to a data package

GetNextSimCbTopic(TTsyReqHandle, RMmCustomAPI::TSimCbTopic *)

TInt GetNextSimCbTopic(TTsyReqHandleaTsyReqHandle,
RMmCustomAPI::TSimCbTopic *aSimCbTopic
)[private]

Get Next Sim Cb Topic

Parameters

TTsyReqHandle aTsyReqHandleRequest handle
RMmCustomAPI::TSimCbTopic * aSimCbTopicPointer to TSimCbTopic structure

Init()

voidInit()[virtual]

Initialisation method

NewL(CMmCustomTsy *)

CMmSIMTsy *NewL(CMmCustomTsy *mmCustomTsy)[static]

Two-phased constructor.

Parameters

CMmCustomTsy * mmCustomTsy

NumberOfSlotsL(const TInt)

TInt NumberOfSlotsL(const TIntaIpc)[virtual]

Returns number of slots to be used for given IPC.

Parameters

const TInt aIpcAn interprocess communication command identifier

ReadDynamicViagHomeZoneCacheL(const TTsyReqHandle, RMmCustomAPI::TViagCacheRecordId *, RMmCustomAPI::TViagCacheRecordContent *)

TInt ReadDynamicViagHomeZoneCacheL(const TTsyReqHandleaTsyReqHandle,
RMmCustomAPI::TViagCacheRecordId *aViagRecordId,
RMmCustomAPI::TViagCacheRecordContent *aViagRecordContent
)[private]

Read Dynamic ViagHomeZoneCache

Parameters

const TTsyReqHandle aTsyReqHandle
RMmCustomAPI::TViagCacheRecordId * aViagRecordId
RMmCustomAPI::TViagCacheRecordContent * aViagRecordContent

ReadViagHomeZoneCacheCancel(const TTsyReqHandle)

TInt ReadViagHomeZoneCacheCancel(const TTsyReqHandleaTsyReqHandle)[private]

Cancel the ReadViagHomeZoneCache request

Parameters

const TTsyReqHandle aTsyReqHandle

ReadViagHomeZoneCacheL(RMmCustomAPI::TViagCacheRecordId *, RMmCustomAPI::TViagCacheRecordContent *)

TInt ReadViagHomeZoneCacheL(RMmCustomAPI::TViagCacheRecordId *aViagRecordId,
RMmCustomAPI::TViagCacheRecordContent *aViagRecordContent
)[private]

Read ViagHomeZoneCache

Parameters

RMmCustomAPI::TViagCacheRecordId * aViagRecordId
RMmCustomAPI::TViagCacheRecordContent * aViagRecordContent

ReadViagHomeZoneParamsCancel()

TInt ReadViagHomeZoneParamsCancel()[private]

Cancel the ReadViagHomeZoneParams request

ReadViagHomeZoneParamsL(RMmCustomAPI::TViagParams *, RMmCustomAPI::TViagElement *)

TInt ReadViagHomeZoneParamsL(RMmCustomAPI::TViagParams *aViagParameters,
RMmCustomAPI::TViagElement *aViagElements
)[private]

Read ViagHomeZoneParams

Parameters

RMmCustomAPI::TViagParams * aViagParameters
RMmCustomAPI::TViagElement * aViagElementsPointer to VIAG Home Zone elements structure

RegisterNotification(const TInt)

TInt RegisterNotification(const TIntaIpc)[virtual]

Register given notification.

Parameters

const TInt aIpcAn interprocess communication command identifier

ReqModeL(const TInt)

CTelObject::TReqModeReqModeL(const TIntaIpc)[virtual]

Returns request mode for given IPC number.

Parameters

const TInt aIpcAn interprocess communication command identifier

ResetAndDestroySimCbTopics()

voidResetAndDestroySimCbTopics()[private]

Reset and destroy sim cb topics

SetTypeOfResponse(const TInt, const TTsyReqHandle)

voidSetTypeOfResponse(const TIntaReqHandleType,
const TTsyReqHandleaTsyReqHandle
)[private]

Chooses the type of response, automatic or common

Parameters

const TInt aReqHandleType
const TTsyReqHandle aTsyReqHandle

StartDynamicCachingL()

voidStartDynamicCachingL()[private]

Start dynamic caching

StartSimCbTopicBrowsingL(const TTsyReqHandle)

TInt StartSimCbTopicBrowsingL(const TTsyReqHandleaTsyReqHandle)[private]

Start Sim Cb Topics Browsing

Parameters

const TTsyReqHandle aTsyReqHandleRequest handle

SupportingIPC(const TInt)

TBool SupportingIPC(const TIntaIpc)[virtual]

Tells whether the object supports given IPC.

Parameters

const TInt aIpcRequest's IPC value

WriteViagHomeZoneCacheCancel()

TInt WriteViagHomeZoneCacheCancel()[private]

Cancel the WriteViagHomeZoneCache request

WriteViagHomeZoneCacheL(RMmCustomAPI::TViagCacheRecordId *, RMmCustomAPI::TViagCacheRecordContent *)

TInt WriteViagHomeZoneCacheL(RMmCustomAPI::TViagCacheRecordId *aViagRecordId,
RMmCustomAPI::TViagCacheRecordContent *aViagRecordContent
)[private]

Write ViagHomeZoneCache

Parameters

RMmCustomAPI::TViagCacheRecordId * aViagRecordIdPointer to VIAG Home Zone record id structure
RMmCustomAPI::TViagCacheRecordContent * aViagRecordContentPointer to VIAG Home Zone record content structure

WriteViagHomeZoneUHZIUESettingsCancel()

TInt WriteViagHomeZoneUHZIUESettingsCancel()[private]

Cancels the VIAG Home Zone UHZIUE settings write request.

WriteViagHomeZoneUHZIUESettingsL(RMmCustomAPI::TViagUHZIUESettings *)

TInt WriteViagHomeZoneUHZIUESettingsL(RMmCustomAPI::TViagUHZIUESettings *aSettings)[private]

Writes specified VIAG Home Zone UHZIUE settings to SIM.

Parameters

RMmCustomAPI::TViagUHZIUESettings * aSettingsPointer to TViagUHZIUESettings

Member Enumerations Documentation

Enum TSIMRequestType

Enumerators

ESIMTsyReqHandleUnknown
ESIMRequestTypeReadParams
ESIMRequestTypeReadCache
ESIMRequestTypeWriteCache
ESIMRequestTypeWriteSettings
ESIMRequestTypeStartSimCbTopicBrowsing
ESIMRequestTypeGetNextSimCbTopic
ESIMRequestTypeDeleteSimCbTopic
ESIMRequestTypeMaxNumOfRequests
ESIMRequestTypeUndefined = 0xff

Member Data Documentation

RMmCustomAPI::TViagCacheRecordId * iCurrentlyRetrievedCache

RMmCustomAPI::TViagCacheRecordId *iCurrentlyRetrievedCache[private]

Pointer to current cache Not Own.

TInt iGetNextSimCbTopicIndex

TInt iGetNextSimCbTopicIndex[private]

The index of the next topic to retrieve with the GetNext-method

TInt iLastViagHomeZoneCacheError

TInt iLastViagHomeZoneCacheError[private]

last ViagHomeZone cache error

CMmCustomTsy * iMmCustomTsy

CMmCustomTsy *iMmCustomTsy[private]

Pointer to CMmCustomTsy class Not Own.

RPointerArray< TReadViagHomeZoneCacheRequest > iReadViagHomeZoneCacheRequests

RPointerArray< TReadViagHomeZoneCacheRequest >iReadViagHomeZoneCacheRequests[private]

Array for buffering ReadViagHomeZoneCache requests

TSIMRequestType iReqHandleType

TSIMRequestType iReqHandleType[private]

Saves temporarily last TSY request type Own.

TTsyReqHandle iSIMReqHandles

TTsyReqHandle iSIMReqHandles[private]

SIM Custom API request handle table Own.

TInt iSimCbTopicIndexToBeDeleted

TInt iSimCbTopicIndexToBeDeleted[private]

The index of the topic to be deleted

CArrayFixFlat< RMmCustomAPI::TSimCbTopic > * iSimCbTopics

CArrayFixFlat< RMmCustomAPI::TSimCbTopic > *iSimCbTopics[private]

used for handling SIM CB Topic browsing: a cached table of all entries Own.

CMmTsyReqHandleStore * iTsyReqHandleStore

CMmTsyReqHandleStore *iTsyReqHandleStore[private]

Pointer to request handle store Own.

CArrayFixFlat< RMmCustomAPI::TViagCacheRecordContent > * iViagDynamicCache

CArrayFixFlat< RMmCustomAPI::TViagCacheRecordContent > *iViagDynamicCache[private]

The Dynamic cache for VIAG home zone records Own.

RMmCustomAPI::TViagElement * iViagElems

RMmCustomAPI::TViagElement *iViagElems[private]

Pointer to VIAG Home Zone elements structure Not Own.

TBool iViagHomeZoneCacheReady

TBool iViagHomeZoneCacheReady[private]

Is ViagHomeZone cache ready

RMmCustomAPI::TViagParams * iViagParams

RMmCustomAPI::TViagParams *iViagParams[private]

Pointer to VIAG Home Zone parameters structure Not Own.

TBool iViagParamsReadRequested

TBool iViagParamsReadRequested[private]

Is VIAG home zone params requested before SIM is ready

RMmCustomAPI::TViagCacheRecordContent * iViagReadCacheRecord

RMmCustomAPI::TViagCacheRecordContent *iViagReadCacheRecord[private]

VIAG home zone record content Not Own.