#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, const PString &userName, PSafetyMode m) |
| PSafePtr< SIPHandler > | FindSIPHandlerByUrl (const PURL &url, SIP_PDU::Methods meth, PSafetyMode m) |
| PSafePtr< SIPHandler > | FindSIPHandlerByUrl (const PURL &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 | |
| PMutex | m_extraMutex |
| PSafeList< SIPHandler > | m_handlersList |
| IndexMap | m_byCallID |
| IndexMap | m_byAorAndPackage |
| IndexMap | m_byAuthIdAndRealm |
| IndexMap | m_byAorUserAndRealm |
typedef SIPHandler::IndexMap SIPHandlersList::IndexMap [protected] |
| 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
| 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 PURL & | url, | |
| SIP_PDU::Methods | meth, | |||
| const PString & | eventPackage, | |||
| PSafetyMode | m | |||
| ) |
| PSafePtr<SIPHandler> SIPHandlersList::FindSIPHandlerByUrl | ( | const PURL & | 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
IndexMap SIPHandlersList::m_byAorAndPackage [protected] |
IndexMap SIPHandlersList::m_byAorUserAndRealm [protected] |
IndexMap SIPHandlersList::m_byAuthIdAndRealm [protected] |
IndexMap SIPHandlersList::m_byCallID [protected] |
PMutex SIPHandlersList::m_extraMutex [protected] |
PSafeList<SIPHandler> SIPHandlersList::m_handlersList [protected] |
1.4.7