reSIProcate
SIP stack, Dialog Usage Manager and related libraries
Loading...
Searching...
No Matches
resip::InMemoryRegistrationDatabase Class Reference

Trivial implementation of a persistence manager. More...

#include <InMemoryRegistrationDatabase.hxx>

Inheritance diagram for resip::InMemoryRegistrationDatabase:
[legend]

Public Member Functions

 InMemoryRegistrationDatabase (bool checkExpiry=false)
 
virtual ~InMemoryRegistrationDatabase ()
 
virtual void addAor (const Uri &aor, const ContactList &contacts)
 
virtual void removeAor (const Uri &aor)
 
virtual bool aorIsRegistered (const Uri &aor)
 
virtual void lockRecord (const Uri &aor)
 
virtual void unlockRecord (const Uri &aor)
 
virtual update_status_t updateContact (const resip::Uri &aor, const ContactInstanceRecord &rec)
 
virtual void removeContact (const Uri &aor, const ContactInstanceRecord &rec)
 
virtual void getContacts (const Uri &aor, ContactList &container)
 
virtual void getAors (UriList &container)
 return all the AOR in the DB
 
- Public Member Functions inherited from resip::RegistrationPersistenceManager
 RegistrationPersistenceManager ()
 
virtual ~RegistrationPersistenceManager ()
 

Protected Types

typedef std::map< Uri, ContactList * > database_map_t
 

Protected Member Functions

database_map_t::iterator findNotExpired (const Uri &aor)
 Find aor in mDatabase Before returning the iterator pointing to aor, delete all expired contacts.
 

Protected Attributes

database_map_t mDatabase
 
Mutex mDatabaseMutex
 
std::set< Uri > mLockedRecords
 
Mutex mLockedRecordsMutex
 
Condition mRecordUnlocked
 
bool mCheckExpiry
 

Additional Inherited Members

- Public Types inherited from resip::RegistrationPersistenceManager
enum  update_status_t { CONTACT_CREATED , CONTACT_UPDATED }
 
typedef std::list< Uri > UriList
 

Detailed Description

Trivial implementation of a persistence manager.

This class keeps all registrations in memory, and has no schemes for disk storage or replication of any kind. It's good for testing, but probably inappropriate for any commercially deployable products.

Definition at line 21 of file InMemoryRegistrationDatabase.hxx.

Member Typedef Documentation

◆ database_map_t

Constructor & Destructor Documentation

◆ InMemoryRegistrationDatabase()

InMemoryRegistrationDatabase::InMemoryRegistrationDatabase ( bool  checkExpiry = false)
Parameters
checkExpiryif set, then the methods aorIsRegistered() and getContacts() will check that contacts are not expired before returning an answer.

Definition at line 12 of file InMemoryRegistrationDatabase.cxx.

◆ ~InMemoryRegistrationDatabase()

InMemoryRegistrationDatabase::~InMemoryRegistrationDatabase ( )
virtual

Definition at line 17 of file InMemoryRegistrationDatabase.cxx.

Member Function Documentation

◆ addAor()

void InMemoryRegistrationDatabase::addAor ( const Uri &  aor,
const ContactList &  contacts 
)
virtual

◆ aorIsRegistered()

bool InMemoryRegistrationDatabase::aorIsRegistered ( const Uri &  aor)
virtual

◆ findNotExpired()

InMemoryRegistrationDatabase::database_map_t::iterator InMemoryRegistrationDatabase::findNotExpired ( const Uri &  aor)
protected

Find aor in mDatabase Before returning the iterator pointing to aor, delete all expired contacts.

Definition at line 242 of file InMemoryRegistrationDatabase.cxx.

◆ getAors()

void InMemoryRegistrationDatabase::getAors ( InMemoryRegistrationDatabase::UriList &  container)
virtual

return all the AOR in the DB

Implements resip::RegistrationPersistenceManager.

Definition at line 56 of file InMemoryRegistrationDatabase.cxx.

◆ getContacts()

void InMemoryRegistrationDatabase::getContacts ( const Uri &  aor,
ContactList &  container 
)
virtual

◆ lockRecord()

void InMemoryRegistrationDatabase::lockRecord ( const Uri &  aor)
virtual

◆ removeAor()

void InMemoryRegistrationDatabase::removeAor ( const Uri &  aor)
virtual

◆ removeContact()

void InMemoryRegistrationDatabase::removeContact ( const Uri &  aor,
const ContactInstanceRecord &  rec 
)
virtual

◆ unlockRecord()

void InMemoryRegistrationDatabase::unlockRecord ( const Uri &  aor)
virtual

◆ updateContact()

RegistrationPersistenceManager::update_status_t InMemoryRegistrationDatabase::updateContact ( const resip::Uri &  aor,
const ContactInstanceRecord &  rec 
)
virtual

Member Data Documentation

◆ mCheckExpiry

bool resip::InMemoryRegistrationDatabase::mCheckExpiry
protected

Definition at line 59 of file InMemoryRegistrationDatabase.hxx.

◆ mDatabase

database_map_t resip::InMemoryRegistrationDatabase::mDatabase
protected

Definition at line 52 of file InMemoryRegistrationDatabase.hxx.

◆ mDatabaseMutex

Mutex resip::InMemoryRegistrationDatabase::mDatabaseMutex
protected

Definition at line 53 of file InMemoryRegistrationDatabase.hxx.

◆ mLockedRecords

std::set<Uri> resip::InMemoryRegistrationDatabase::mLockedRecords
protected

Definition at line 55 of file InMemoryRegistrationDatabase.hxx.

◆ mLockedRecordsMutex

Mutex resip::InMemoryRegistrationDatabase::mLockedRecordsMutex
protected

Definition at line 56 of file InMemoryRegistrationDatabase.hxx.

◆ mRecordUnlocked

Condition resip::InMemoryRegistrationDatabase::mRecordUnlocked
protected

Definition at line 57 of file InMemoryRegistrationDatabase.hxx.


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