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 )
void CheckViagHomezoneParamsL ()
void Complete ( TInt , TInt )
void CompleteDeleteSimCbTopic ( TInt )
void CompleteReadViagHomeZoneCacheRespL ( RMmCustomAPI::TViagCacheRecordContent *, TInt )
void CompleteReadViagHomeZoneParamsResp ( RMmCustomAPI::TViagParams *, RMmCustomAPI::TViagElements *, TInt )
void CompleteStartSimCbTopicBrowsing ( CArrayFixFlat < RMmCustomAPI::TSimCbTopic > *, TInt )
void CompleteWriteViagHomeZoneCacheResp ( TInt )
void CompleteWriteViagHomeZoneUHZIUESettingsResp ( TInt )
TInt DeregisterNotification (const TInt )
TInt DoExtFuncL (const TTsyReqHandle , const TInt , const TDataPackage &)
void Init ()
CMmSIMTsy * NewL ( CMmCustomTsy *)
TInt NumberOfSlotsL (const TInt )
TInt RegisterNotification (const TInt )
CTelObject::TReqMode ReqModeL (const TInt )
TBool SupportingIPC (const TInt )
Private Member Functions
void ConstructL ( 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 *)
void ResetAndDestroySimCbTopics ()
void SetTypeOfResponse (const TInt , const TTsyReqHandle )
void StartDynamicCachingL ()
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
enum TSIMRequestType {
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 TInt aIpc,
const TTsyReqHandle aTsyReqHandle
) [virtual]

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

Parameters

const TInt aIpc An interprocess communication command identifier
const TTsyReqHandle aTsyReqHandle Request handle

CheckViagHomezoneParamsL()

void CheckViagHomezoneParamsL ( )

Sends VIAG homezone parameters read request if requested by client.

Complete(TInt, TInt)

void Complete ( TInt aReqHandleType,
TInt aError
) [virtual]

Calls the needed complete method due the timer expiration

Parameters

TInt aReqHandleType
TInt aError

CompleteDeleteSimCbTopic(TInt)

void CompleteDeleteSimCbTopic ( TInt aError )

Completes delete SIM CB topic request

Parameters

TInt aError Error value

CompleteReadViagHomeZoneCacheRespL(RMmCustomAPI::TViagCacheRecordContent *, TInt)

void CompleteReadViagHomeZoneCacheRespL ( RMmCustomAPI::TViagCacheRecordContent * aViagRecord,
TInt aError
)

Completes the ReadViagHomeZoneCacheResp response message.

Parameters

RMmCustomAPI::TViagCacheRecordContent * aViagRecord Pointer to VIAG Home Zone record content
TInt aError Error value

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

void CompleteReadViagHomeZoneParamsResp ( RMmCustomAPI::TViagParams * aParams,
RMmCustomAPI::TViagElements * aElems,
TInt aError
)

Completes the ReadViagHomeZoneParamsResp response message.

Parameters

RMmCustomAPI::TViagParams * aParams Pointer to VIAG Home Zone parameters structure
RMmCustomAPI::TViagElements * aElems Pointer to VIAG Home Zone elements structure
TInt aError Error value

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

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

Complete StartSimCbTopicBrowsing

Parameters

CArrayFixFlat < RMmCustomAPI::TSimCbTopic > * aTopics CB Topics from SIM
TInt aError Error value

CompleteWriteViagHomeZoneCacheResp(TInt)

void CompleteWriteViagHomeZoneCacheResp ( TInt aError )

Completes the WriteViagHomeZoneCacheResp response message.

Parameters

TInt aError Error value

CompleteWriteViagHomeZoneUHZIUESettingsResp(TInt)

void CompleteWriteViagHomeZoneUHZIUESettingsResp ( TInt aError )

Completes the WriteViagHomeZoneUHZIUESettings response message.

Parameters

TInt aError Error value

ConstructL(CMmCustomTsy *)

void ConstructL ( CMmCustomTsy * aMmCustomTsy ) [private]

By default EPOC constructor is private.

Parameters

CMmCustomTsy * aMmCustomTsy

DeleteSimCbTopicL(const TTsyReqHandle, TUint *)

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

Delete Sim Cb Topic

Parameters

const TTsyReqHandle aTsyReqHandle Request handle
TUint * aSimCbTopicNumber ID number of the sim topic

DeregisterNotification(const TInt)

TInt DeregisterNotification ( const TInt aIpc ) [virtual]

Deregister given notification.

Parameters

const TInt aIpc An interprocess communication command identifier

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

TInt DoExtFuncL ( const TTsyReqHandle aTsyReqHandle,
const TInt aIpc,
const TDataPackage & aPackage
) [virtual]

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

Parameters

const TTsyReqHandle aTsyReqHandle Request handle
const TInt aIpc Request's IPC value
const TDataPackage & aPackage Reference to a data package

GetNextSimCbTopic(TTsyReqHandle, RMmCustomAPI::TSimCbTopic *)

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

Get Next Sim Cb Topic

Parameters

TTsyReqHandle aTsyReqHandle Request handle
RMmCustomAPI::TSimCbTopic * aSimCbTopic Pointer to TSimCbTopic structure

Init()

void Init ( ) [virtual]

Initialisation method

NewL(CMmCustomTsy *)

CMmSIMTsy * NewL ( CMmCustomTsy * mmCustomTsy ) [static]

Two-phased constructor.

Parameters

CMmCustomTsy * mmCustomTsy

NumberOfSlotsL(const TInt)

TInt NumberOfSlotsL ( const TInt aIpc ) [virtual]

Returns number of slots to be used for given IPC.

Parameters

const TInt aIpc An interprocess communication command identifier

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

TInt ReadDynamicViagHomeZoneCacheL ( const TTsyReqHandle aTsyReqHandle,
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 TTsyReqHandle aTsyReqHandle ) [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

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 * aViagElements Pointer to VIAG Home Zone elements structure

RegisterNotification(const TInt)

TInt RegisterNotification ( const TInt aIpc ) [virtual]

Register given notification.

Parameters

const TInt aIpc An interprocess communication command identifier

ReqModeL(const TInt)

CTelObject::TReqMode ReqModeL ( const TInt aIpc ) [virtual]

Returns request mode for given IPC number.

Parameters

const TInt aIpc An interprocess communication command identifier

ResetAndDestroySimCbTopics()

void ResetAndDestroySimCbTopics ( ) [private]

Reset and destroy sim cb topics

SetTypeOfResponse(const TInt, const TTsyReqHandle)

void SetTypeOfResponse ( const TInt aReqHandleType,
const TTsyReqHandle aTsyReqHandle
) [private]

Chooses the type of response, automatic or common

Parameters

const TInt aReqHandleType
const TTsyReqHandle aTsyReqHandle

StartDynamicCachingL()

void StartDynamicCachingL ( ) [private]

Start dynamic caching

StartSimCbTopicBrowsingL(const TTsyReqHandle)

TInt StartSimCbTopicBrowsingL ( const TTsyReqHandle aTsyReqHandle ) [private]

Start Sim Cb Topics Browsing

Parameters

const TTsyReqHandle aTsyReqHandle Request handle

SupportingIPC(const TInt)

TBool SupportingIPC ( const TInt aIpc ) [virtual]

Tells whether the object supports given IPC.

Parameters

const TInt aIpc Request'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 * aViagRecordId Pointer to VIAG Home Zone record id structure
RMmCustomAPI::TViagCacheRecordContent * aViagRecordContent Pointer 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 * aSettings Pointer 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.