CSIPRefresh Class Reference
class CSIPRefresh : public CBase |
Class for managing SIP refresh. It provides functions for getting associated sip transaction and state. Class also provides functions for updating and terminating stand-alone refreshes.
Note that only stand-alone refreshes (i.e. refreshes that are not associated with registration binding or dialog associations) can be terminated or updated using functions defined in this class.
sipclient.lib
Constructor & Destructor Documentation
Member Functions Documentation
AddTransaction(CSIPClientTransaction &)
ChangeState(CSIPRefresh::TState)
CheckStateL()
void | CheckStateL | ( | ) | const [private] |
ConstructL()
void | ConstructL | ( | ) | [private] |
IntervalL()
IMPORT_C TUint | IntervalL | ( | ) | const |
Gets current refresh interval
- Pre-condition
- State()==CSIPRefreshEActive
- leave
- KErrSIPResourceNotAvailable if SIP server can't be contacted because a required resource has been deleted.
IsStandAlone()
IMPORT_C TBool | IsStandAlone | ( | ) | const |
Tests if the refresh is a stand-alone refresh
RemoveRefreshOwner(const MSIPRefreshAssociation &)
SIPTransaction()
Gets the associated SIP transaction with this refresh.
SetIntervalL(TUint)
IMPORT_C void | SetIntervalL | ( | TUint | aInterval | ) | |
Sets refresh interval. Note that SIP server choses the refresh interval. This function should be used only if SIP server has indicated new refresh interval using SIP messages that are not associated to the refresh needing the update.
- Pre-condition
- State()==CSIPRefreshEActive
- aInterval > 0
- leave
- KErrArgument if aInterval == 0
- leave
- KErrSIPInvalidTransactionState if State() is not EActive
- leave
- KErrSIPResourceNotAvailable if SIP server can't be contacted because a required resource has been deleted.
Parameters
TUint aInterval | a new interval in seconds |
SetRefreshIdIfEmpty(TUint32)
void | SetRefreshIdIfEmpty | ( | TUint32 | aRefreshId | ) | |
SetRefreshOwner(MSIPRefreshAssociation &)
State()
Gets the state of the refresh
TerminateL(CSIPMessageElements *)
Terminates the refresh by sending SIP request to the remote destination. The new client transactation will be of the same type as the first transaction associated with this request.
- Pre-condition
- State()==EActive
- IsStandAlone()==ETrue
- leave
- KErrSIPInvalidTransactionState if State() is not EActive KErrNotFound if the CSIPRefresh is no longer associated to anything KSIPErrInvalidRegistrationState if trying to terminate a REGISTER refresh. KErrSIPInvalidDialogState if trying to terminate a dialog association being refreshed.
- capability
- NetworkServices
Parameters
CSIPMessageElements * aElements = 0 | contains optional SIP message headers and body. Ownership is transferred. |
UpdateL(CSIPMessageElements *)
Updates the refresh by sending SIP request to the remote destination. The new client transactation will be of the same type as the first transaction associated with this request.
- Pre-condition
- State()==EActive
- IsStandAlone()==ETrue
- leave
- KErrSIPInvalidTransactionState if State() is not EActive KErrNotFound if the CSIPRefresh is no longer associated to anything KErrSIPInvalidRegistrationState if trying to update a REGISTER refresh. KSIPErrInvalidDialogState if trying to update a dialog association being refreshed.
- capability
- NetworkServices
Parameters
CSIPMessageElements * aElements = 0 | contains optional SIP message headers and body. Ownership is transferred. |
UpdateRefreshState(TUint)
void | UpdateRefreshState | ( | TUint | aStatusCode | ) | |
operator==(const CSIPRefresh &)
Compares this object to another object
Parameters
const CSIPRefresh & aRefresh | a CSIPRefresh type object to compare |
Member Enumerations Documentation
Enum TState
Enumerators
EInactive |
SIP refresh is inactive
|
EActive |
SIP refresh active
|
ETerminated |
SIP refresh is terminated
|
EConstructing |
Object is being constructed and is not yet ready for use
|
Member Data Documentation
CSIPClientTransaction * iClientTransaction
MSIPRefreshAssociation * iOwner
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.