S60 3rd Edition API Reference: CSIPTransactionBase Class Reference

CSIPTransactionBase Class Reference

API published in: S60 2nd Ed

Link against: sipclient.lib

Capability Information

Required Capabilities

Location NetworkControl NetworkServices ReadDeviceData WriteDeviceData


#include <siptransactionbase.h>

Inherited by CSIPClientTransaction, and CSIPServerTransaction.


Detailed Description

PublishedAll
Released
Base class for managing SIP transactions. It provides services for querying transaction type and its state.

This class is an abstract class and cannot be instantiated.


Public Types

enum  TState {
  ETrying, ECalling, EProceeding, ECompleted,
  EConfirmed, ETerminated, EConstructing
}
 SIP transaction state. More...

Public Member Functions

virtual ~CSIPTransactionBase ()
 Destructor.
IMPORT_C RStringF Type () const
 Gets the SIP transaction type.
IMPORT_C CSIPTransactionBase::TState StateL ()
 Gets SIP transaction state.
IMPORT_C TBool IsSIPClientTransaction () const
 Checks the if the actual object is of type CSIPClientTransaction.
IMPORT_C TBool operator== (const CSIPTransactionBase &aTransaction) const
 Compares this object to another object also having CSIPTransactionBase base class The function has to be implemented in each of the sub-classes.
TUint32 RequestId () const
 Obtains the RequestId of the transaction.
virtual void Detach (const MTransactionAssociation &aAssociation)
 Clears the MTransactionAssociation.
void ChangeState (CSIPTransactionBase::TState aNextState)
 Changes the transaction state.
TBool AffectsDialogState () const
 Determines whether this transaction has an effect on the associated dialog's state.
void SetAffectsDialogState ()
 Sets this transaction to affect the dialog state.
void SetResponseElements (CSIPResponseElements *aElements)
 Stores response elements.

Static Public Member Functions

static TBool IsTargetRefresh (RStringF aType)
 Determines whether the transaction type is a target refresh request.

Protected Member Functions

 CSIPTransactionBase (TBool aIsClientTransaction, TUint32 aRequestId, MTransactionAssociation &aAssociation)
void ConstructL (RStringF aType)
void CheckAssociationL () const
 Checks that iAssociation is available (not NULL).
const CSIPResponseElementsResponseElements () const
 Gets response elements.

Protected Attributes

TUint32 iRequestId
MTransactionAssociation * iAssociation

Member Enumeration Documentation

enum CSIPTransactionBase::TState
 

SIP transaction state.

Enumerator:
ETrying  Trying state.
ECalling  Calling state.
EProceeding  Proceeding state.
ECompleted  Completed state.
EConfirmed  Confirmed state.
ETerminated  Terminated state.
EConstructing  Object is being constructed and is not yet ready for use.

Constructor & Destructor Documentation

virtual CSIPTransactionBase::~CSIPTransactionBase  )  [virtual]
 

Destructor.

CSIPTransactionBase::CSIPTransactionBase TBool  aIsClientTransaction,
TUint32  aRequestId,
MTransactionAssociation &  aAssociation
[protected]
 

Member Function Documentation

TBool CSIPTransactionBase::AffectsDialogState  )  const
 

Determines whether this transaction has an effect on the associated dialog's state.

Returns:
ETrue if transaction has an effect on the dialog's state, EFalse otherwise.
void CSIPTransactionBase::ChangeState CSIPTransactionBase::TState  aNextState  ) 
 

Changes the transaction state.

Parameters:
aNextState State into which transaction moves
void CSIPTransactionBase::CheckAssociationL  )  const [protected]
 

Checks that iAssociation is available (not NULL).

If iAssociation is NULL, it means user has deleted a resource needed by CSIPTransactionBase, and this function leaves.

void CSIPTransactionBase::ConstructL RStringF  aType  )  [protected]
 
virtual void CSIPTransactionBase::Detach const MTransactionAssociation &  aAssociation  )  [virtual]
 

Clears the MTransactionAssociation.

After this the object can't be used anymore and it is expected that user will delete it soon.

Parameters:
aAssociation Object requesting the detach
IMPORT_C TBool CSIPTransactionBase::IsSIPClientTransaction  )  const
 

Checks the if the actual object is of type CSIPClientTransaction.

Returns:
ETrue if object is of type CSIPClientTransaction and EFalse otherwise
static TBool CSIPTransactionBase::IsTargetRefresh RStringF  aType  )  [static]
 

Determines whether the transaction type is a target refresh request.

Parameters:
aType Type of transaction
Returns:
ETrue If the transaction is a target refresh request, EFalse otherwise.
IMPORT_C TBool CSIPTransactionBase::operator== const CSIPTransactionBase aTransaction  )  const
 

Compares this object to another object also having CSIPTransactionBase base class The function has to be implemented in each of the sub-classes.

Parameters:
aTransaction a CSIPTransactionBase object to compare
Returns:
ETrue if the objects are equal otherwise EFalse
TUint32 CSIPTransactionBase::RequestId  )  const
 

Obtains the RequestId of the transaction.

Returns:
RequestId
const CSIPResponseElements* CSIPTransactionBase::ResponseElements  )  const [protected]
 

Gets response elements.

Returns:
Response elements. Ownership isn't transferred.

Reimplemented in CSIPClientTransaction.

void CSIPTransactionBase::SetAffectsDialogState  ) 
 

Sets this transaction to affect the dialog state.

void CSIPTransactionBase::SetResponseElements CSIPResponseElements aElements  ) 
 

Stores response elements.

Depending on the status code, transaction may enter another state.

Parameters:
aElements Response elements, ownership is transferred.
IMPORT_C CSIPTransactionBase::TState CSIPTransactionBase::StateL  ) 
 

Gets SIP transaction state.

Returns:
SIP transaction state
Leave:
KErrSIPResourceNotAvailable if a required SIP Client API object has been deleted
IMPORT_C RStringF CSIPTransactionBase::Type  )  const
 

Gets the SIP transaction type.

Returns:
SIP transaction type

Field Documentation

MTransactionAssociation* CSIPTransactionBase::iAssociation [protected]
 
TUint32 CSIPTransactionBase::iRequestId [protected]
 

The documentation for this class was generated from the following file:

Copyright © Nokia Corporation 2001-2007
Back to top