CSIPRegistrarStore Class Reference

class CSIPRegistrarStore : public CBase

Class stores array of CSIPRegistrar objects. Register request sent to same registrar should use the same callId and the CSeq should be increased. Before any register request is sent, registrar store will be checked. If the registrar exists in CSIPRegistarStore, it increace the CSeq and copy the CallId and CSeq to REGISTER request.

Inherits from

Constructor & Destructor Documentation

CSIPRegistrarStore()

CSIPRegistrarStore ( ) [private]

~CSIPRegistrarStore()

~CSIPRegistrarStore ( )

Destructor.

Member Functions Documentation

ConstructL()

void ConstructL ( ) [private]

CreateRegistrarL(const CURIContainer &, const TDesC8 &, TUint, const TRegistrationId)

CSIPRegistrar * CreateRegistrarL ( const CURIContainer & aRegistrar,
const TDesC8 & aCallId,
TUint aCSeq,
const TRegistrationId aRegistrationId
)

Creates CSIPRegistrar object, and add it to the array of CSIPRegRegistrar objects in CSIPRegRegistrarStore.

@ param aRegistrar; a registrar @ param aCallId; CallId @ param aCSeq; a CSeq Number @ param aRegistrationId; a TRegistrationId

@ return CSIPRegistrar object, the ownership is transferred.

Parameters

const CURIContainer & aRegistrar
const TDesC8 & aCallId
TUint aCSeq
const TRegistrationId aRegistrationId

FindRegistrar(const CURIContainer &)

CSIPRegistrar * FindRegistrar ( const CURIContainer & aRegistrar )

Find the registrar object, in which registrar name is same as the parameter.

@ param aRegistrar; a registrar name.

@ return a CSIPRegistrar object. 0 if the registrar can not be found. the ownership of the CSIPRegistrar object is not transferred.

Parameters

const CURIContainer & aRegistrar

NewL()

CSIPRegistrarStore * NewL ( ) [static]

Create a instance of CSIPRegistrarStore .

@ return a CSIPRegistrarStore object.

NewLC()

CSIPRegistrarStore * NewLC ( ) [static]

Create a instance of CSIPRegistrarStore nad push it to cleanup stack

@ return a CSIPRegistrarStore object.

RemoveRegistrar(CSIPRegistrar *)

TInt RemoveRegistrar ( CSIPRegistrar * aRegistrar )

remove the registrar object passed as parameter from registrars array

@ param aRegistrar; a CSIPRegistrar object, the ownership is not transferred.

@ return KErrNone if the registrar object can be found from registrars array. KErrNotFound otherwise.

Parameters

CSIPRegistrar * aRegistrar

Member Data Documentation

CDeleteMgr * iDeleteMgr

CDeleteMgr * iDeleteMgr [private]

RPointerArray< CSIPRegistrar > iRegistrars

RPointerArray < CSIPRegistrar > iRegistrars [private]