#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] |