# SIPHandlersList Class Reference

`#include <handlers.h>`

## Public Member Functions

void | Append (SIPHandler *handler)
void | Remove (SIPHandler *handler)
void | Update (SIPHandler *handler)
bool | DeleteObjectsToBeRemoved ()
PSafePtr< SIPHandler > | GetFirstHandler (PSafetyMode mode=PSafeReference) const
unsigned | GetCount (SIP_PDU::Methods meth, const PString &eventPackage=PString::Empty()) const
PStringList | GetAddresses (bool includeOffline, SIP_PDU::Methods meth, const PString &eventPackage=PString::Empty()) const
PSafePtr< SIPHandler > | FindSIPHandlerByCallID (const PString &callID, PSafetyMode m)
PSafePtr< SIPHandler > | FindSIPHandlerByAuthRealm (const PString &authRealm, PSafetyMode m)
PSafePtr< SIPHandler > | FindSIPHandlerByAuthRealm (const PString &authRealm, const PString &userName, PSafetyMode m)
PSafePtr< SIPHandler > | FindSIPHandlerByUrl (const PString &url, SIP_PDU::Methods meth, PSafetyMode m)
PSafePtr< SIPHandler > | FindSIPHandlerByUrl (const PString &url, SIP_PDU::Methods meth, const PString &eventPackage, PSafetyMode m)
PSafePtr< SIPHandler > | FindSIPHandlerByDomain (const PString &name, SIP_PDU::Methods meth, PSafetyMode m)

## Protected Types

typedef SIPHandler::IndexMap | IndexMap

## Protected Member Functions

void | RemoveIndexes (SIPHandler *handler)
PSafePtr< SIPHandler > | FindBy (IndexMap &by, const PString &key, PSafetyMode m)

## Protected Attributes

PSafeSortedList< SIPHandlerBase > | m_handlersList
IndexMap | m_byAorAndPackage
IndexMap | m_byAuthIdAndRealm
IndexMap | m_byAorUserAndRealm

## Detailed Description

This dictionary is used both to contain the active and successful registrations, and subscriptions.

## Member Typedef Documentation

typedef SIPHandler::IndexMap SIPHandlersList::IndexMap `[protected]`

## Member Function Documentation

void SIPHandlersList::Append | ( | SIPHandler * | handler | ) |

Append a new handler to the list

bool SIPHandlersList::DeleteObjectsToBeRemoved | ( |  | ) | `[inline]`

Clean up lists of handler.

PSafePtr<SIPHandler> SIPHandlersList::FindBy | ( | IndexMap & | by,
|  | const PString & | key,
|  | PSafetyMode | m |
| ) |  |  | `[protected]`

PSafePtr<SIPHandler> SIPHandlersList::FindSIPHandlerByAuthRealm | ( | const PString & | authRealm,
|  | const PString & | userName,
|  | PSafetyMode | m |
| ) |  |  |

Find the SIPHandler object with the specified authRealm & user

PSafePtr<SIPHandler> SIPHandlersList::FindSIPHandlerByAuthRealm | ( | const PString & | authRealm,
|  | PSafetyMode | m |
| ) |  |  |

Find the SIPHandler object with the specified authRealm

PSafePtr<SIPHandler> SIPHandlersList::FindSIPHandlerByCallID | ( | const PString & | callID,
|  | PSafetyMode | m |
| ) |  |  |

Find the SIPHandler object with the specified callID

PSafePtr<SIPHandler> SIPHandlersList::FindSIPHandlerByDomain | ( | const PString & | name,
|  | SIP_PDU::Methods | meth,
|  | PSafetyMode | m |
| ) |  |  |

Find the SIPHandler object with the specified registration host. For example, in the above case, the name parameter could be "sip.seconix.com" or "seconix.com".

PSafePtr<SIPHandler> SIPHandlersList::FindSIPHandlerByUrl | ( | const PString & | url,
|  | SIP_PDU::Methods | meth,
|  | const PString & | eventPackage,
|  | PSafetyMode | m |
| ) |  |  |

PSafePtr<SIPHandler> SIPHandlersList::FindSIPHandlerByUrl | ( | const PString & | url,
|  | SIP_PDU::Methods | meth,
|  | PSafetyMode | m |
| ) |  |  |

Find the SIPHandler object with the specified URL. The url is the registration address, for example, 6001@sip.seconix.com when registering 6001 to sip.seconix.com with realm seconix.com or 6001@seconix.com when registering 6001@seconix.com to sip.seconix.com

PStringList SIPHandlersList::GetAddresses | ( | bool | includeOffline,
|  | SIP_PDU::Methods | meth,
|  | const PString & | eventPackage = `PString::Empty()` |
| ) |  |  | const

Return a list of the active address of records for each handler.

unsigned SIPHandlersList::GetCount | ( | SIP_PDU::Methods | meth,
|  | const PString & | eventPackage = `PString::Empty()` |
| ) |  |  | const

Return the number of registered accounts

PSafePtr<SIPHandler> SIPHandlersList::GetFirstHandler | ( | PSafetyMode | mode = `PSafeReference` | ) | const`[inline]`

Get the first handler in the list. Further enumeration may be done by the ++operator on the safe pointer.

void SIPHandlersList::Remove | ( | SIPHandler * | handler | ) |

Remove a handler from the list. Handler is not immediately deleted but marked for deletion later by DeleteObjectsToBeRemoved() when all references are done with the handler.

void SIPHandlersList::RemoveIndexes | ( | SIPHandler * | handler | ) | `[protected]`

void SIPHandlersList::Update | ( | SIPHandler * | handler | ) |

Update indexes for handler in the list

## Field Documentation

IndexMap SIPHandlersList::m_byAorAndPackage `[protected]`

IndexMap SIPHandlersList::m_byAorUserAndRealm `[protected]`

IndexMap SIPHandlersList::m_byAuthIdAndRealm `[protected]`

PSafeSortedList<SIPHandlerBase> SIPHandlersList::m_handlersList `[protected]`

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

- handlers.h