reSIProcate
SIP stack, Dialog Usage Manager and related libraries
Loading...
Searching...
No Matches
repro::AbstractDb Class Referenceabstract

#include <AbstractDb.hxx>

Inheritance diagram for repro::AbstractDb:
[legend]

Classes

class  AclRecord
 
class  ConfigRecord
 
class  FilterRecord
 
class  RouteRecord
 
class  SiloRecord
 
class  StaticRegRecord
 
class  TlsPeerIdentityRecord
 
class  UserRecord
 

Public Types

typedef resip::Data Key
 
typedef std::vector< RouteRecord > RouteRecordList
 
typedef std::vector< AclRecord > AclRecordList
 
typedef std::vector< ConfigRecord > ConfigRecordList
 
typedef std::vector< StaticRegRecord > StaticRegRecordList
 
typedef std::vector< FilterRecord > FilterRecordList
 
typedef std::vector< SiloRecord > SiloRecordList
 

Public Member Functions

 AbstractDb ()
 
virtual ~AbstractDb ()
 
virtual bool isSane ()=0
 
virtual bool addUser (const Key &key, const UserRecord &rec)
 
virtual void eraseUser (const Key &key)
 
virtual UserRecord getUser (const Key &key) const
 
virtual resip::Data getUserAuthInfo (const Key &key) const
 
virtual Key firstUserKey ()
 
virtual Key nextUserKey ()
 
virtual bool addTlsPeerIdentity (const Key &key, const TlsPeerIdentityRecord &rec)
 
virtual void eraseTlsPeerIdentity (const Key &key)
 
virtual TlsPeerIdentityRecord getTlsPeerIdentity (const Key &key) const
 
virtual bool isAuthorized (const std::set< resip::Data > &peerNames, const std::set< resip::Data > &identities) const
 
virtual Key firstTlsPeerIdentityKey ()
 
virtual Key nextTlsPeerIdentityKey ()
 
virtual bool addRoute (const Key &key, const RouteRecord &rec)
 
virtual void eraseRoute (const Key &key)
 
virtual RouteRecord getRoute (const Key &key) const
 
virtual RouteRecordList getAllRoutes ()
 
virtual Key firstRouteKey ()
 
virtual Key nextRouteKey ()
 
virtual bool addAcl (const Key &key, const AclRecord &rec)
 
virtual void eraseAcl (const Key &key)
 
virtual AclRecordList getAllAcls ()
 
virtual AclRecord getAcl (const Key &key) const
 
virtual Key firstAclKey ()
 
virtual Key nextAclKey ()
 
virtual bool addConfig (const Key &key, const ConfigRecord &rec)
 
virtual void eraseConfig (const Key &key)
 
virtual ConfigRecordList getAllConfigs ()
 
virtual ConfigRecord getConfig (const Key &key) const
 
virtual Key firstConfigKey ()
 
virtual Key nextConfigKey ()
 
virtual bool addStaticReg (const Key &key, const StaticRegRecord &rec)
 
virtual void eraseStaticReg (const Key &key)
 
virtual StaticRegRecordList getAllStaticRegs ()
 
virtual StaticRegRecord getStaticReg (const Key &key) const
 
virtual Key firstStaticRegKey ()
 
virtual Key nextStaticRegKey ()
 
virtual bool addFilter (const Key &key, const FilterRecord &rec)
 
virtual void eraseFilter (const Key &key)
 
virtual FilterRecord getFilter (const Key &key) const
 
virtual FilterRecordList getAllFilters ()
 
virtual Key firstFilterKey ()
 
virtual Key nextFilterKey ()
 
virtual bool addToSilo (const Key &key, const SiloRecord &rec)
 
virtual bool getSiloRecords (const Key &skey, SiloRecordList &recordList)
 
virtual void eraseSiloRecord (const Key &key)
 
virtual void cleanupExpiredSiloRecords (uint64_t now, unsigned long expirationTime)
 

Protected Types

enum  Table {
  UserTable =0 , RouteTable , AclTable , ConfigTable ,
  StaticRegTable , FilterTable , SiloTable , TlsPeerIdentityTable ,
  MaxTable
}
 

Protected Member Functions

virtual int getSecondaryKey (const Table table, const Key &key, const resip::Data &data, void **secondaryKey, unsigned int *secondaryKeyLen)
 
virtual bool dbWriteRecord (const Table table, const resip::Data &key, const resip::Data &data)=0
 
virtual bool dbReadRecord (const Table table, const resip::Data &key, resip::Data &data) const =0
 return false if not found

 
virtual void dbEraseRecord (const Table table, const resip::Data &key, bool isSecondaryKey=false)=0
 
virtual resip::Data dbFirstKey (const Table table)
 
virtual resip::Data dbNextKey (const Table table, bool first=false)=0
 
virtual bool dbFirstRecord (const Table table, const resip::Data &key, resip::Data &data, bool forUpdate)
 
virtual bool dbNextRecord (const Table table, const resip::Data &key, resip::Data &data, bool forUpdate, bool first=false)=0
 
virtual bool dbBeginTransaction (const Table table)=0
 
virtual bool dbCommitTransaction (const Table table)=0
 
virtual bool dbRollbackTransaction (const Table table)=0
 
virtual void encodeUser (const UserRecord &rec, resip::Data &buffer)
 
virtual void encodeRoute (const RouteRecord &rec, resip::Data &buffer)
 
virtual void encodeFilter (const FilterRecord &rec, resip::Data &buffer)
 
virtual void decodeSiloRecord (resip::Data &data, SiloRecord &rec)
 

Detailed Description

Definition at line 18 of file AbstractDb.hxx.

Member Typedef Documentation

◆ AclRecordList

Definition at line 108 of file AbstractDb.hxx.

◆ ConfigRecordList

◆ FilterRecordList

◆ Key

◆ RouteRecordList

Definition at line 107 of file AbstractDb.hxx.

◆ SiloRecordList

Definition at line 112 of file AbstractDb.hxx.

◆ StaticRegRecordList

Member Enumeration Documentation

◆ Table

Enumerator
UserTable 
RouteTable 
AclTable 
ConfigTable 
StaticRegTable 
FilterTable 
SiloTable 
TlsPeerIdentityTable 
MaxTable 

Definition at line 179 of file AbstractDb.hxx.

Constructor & Destructor Documentation

◆ AbstractDb()

AbstractDb::AbstractDb ( )

Definition at line 53 of file AbstractDb.cxx.

◆ ~AbstractDb()

AbstractDb::~AbstractDb ( )
virtual

Definition at line 58 of file AbstractDb.cxx.

Member Function Documentation

◆ addAcl()

bool AbstractDb::addAcl ( const Key &  key,
const AclRecord &  rec 
)
virtual

Definition at line 440 of file AbstractDb.cxx.

◆ addConfig()

bool AbstractDb::addConfig ( const Key &  key,
const ConfigRecord &  rec 
)
virtual

Definition at line 549 of file AbstractDb.cxx.

◆ addFilter()

bool AbstractDb::addFilter ( const Key &  key,
const FilterRecord &  rec 
)
virtual

Definition at line 781 of file AbstractDb.cxx.

◆ addRoute()

bool AbstractDb::addRoute ( const Key &  key,
const RouteRecord &  rec 
)
virtual

Definition at line 346 of file AbstractDb.cxx.

◆ addStaticReg()

bool AbstractDb::addStaticReg ( const Key &  key,
const StaticRegRecord &  rec 
)
virtual

Definition at line 653 of file AbstractDb.cxx.

◆ addTlsPeerIdentity()

bool AbstractDb::addTlsPeerIdentity ( const Key &  key,
const TlsPeerIdentityRecord &  rec 
)
virtual

Reimplemented in repro::MySqlDb, and repro::PostgreSqlDb.

Definition at line 234 of file AbstractDb.cxx.

◆ addToSilo()

bool AbstractDb::addToSilo ( const Key &  key,
const SiloRecord &  rec 
)
virtual

Definition at line 878 of file AbstractDb.cxx.

◆ addUser()

bool AbstractDb::addUser ( const Key &  key,
const UserRecord &  rec 
)
virtual

Reimplemented in repro::MySqlDb, and repro::PostgreSqlDb.

Definition at line 135 of file AbstractDb.cxx.

◆ cleanupExpiredSiloRecords()

void AbstractDb::cleanupExpiredSiloRecords ( uint64_t  now,
unsigned long  expirationTime 
)
virtual

Definition at line 960 of file AbstractDb.cxx.

◆ dbBeginTransaction()

virtual bool repro::AbstractDb::dbBeginTransaction ( const Table  table)
protectedpure virtual

◆ dbCommitTransaction()

virtual bool repro::AbstractDb::dbCommitTransaction ( const Table  table)
protectedpure virtual

◆ dbEraseRecord()

virtual void repro::AbstractDb::dbEraseRecord ( const Table  table,
const resip::Data &  key,
bool  isSecondaryKey = false 
)
protectedpure virtual

◆ dbFirstKey()

Data AbstractDb::dbFirstKey ( const Table  table)
protectedvirtual

Definition at line 64 of file AbstractDb.cxx.

◆ dbFirstRecord()

bool AbstractDb::dbFirstRecord ( const Table  table,
const resip::Data &  key,
resip::Data &  data,
bool  forUpdate 
)
protectedvirtual

Definition at line 71 of file AbstractDb.cxx.

◆ dbNextKey()

virtual resip::Data repro::AbstractDb::dbNextKey ( const Table  table,
bool  first = false 
)
protectedpure virtual

◆ dbNextRecord()

virtual bool repro::AbstractDb::dbNextRecord ( const Table  table,
const resip::Data &  key,
resip::Data &  data,
bool  forUpdate,
bool  first = false 
)
protectedpure virtual

◆ dbReadRecord()

virtual bool repro::AbstractDb::dbReadRecord ( const Table  table,
const resip::Data &  key,
resip::Data &  data 
) const
protectedpure virtual

return false if not found

◆ dbRollbackTransaction()

virtual bool repro::AbstractDb::dbRollbackTransaction ( const Table  table)
protectedpure virtual

◆ dbWriteRecord()

virtual bool repro::AbstractDb::dbWriteRecord ( const Table  table,
const resip::Data &  key,
const resip::Data &  data 
)
protectedpure virtual

◆ decodeSiloRecord()

void AbstractDb::decodeSiloRecord ( resip::Data &  data,
SiloRecord &  rec 
)
protectedvirtual

Definition at line 904 of file AbstractDb.cxx.

◆ encodeFilter()

void AbstractDb::encodeFilter ( const FilterRecord &  rec,
resip::Data &  buffer 
)
protectedvirtual

Definition at line 756 of file AbstractDb.cxx.

◆ encodeRoute()

void AbstractDb::encodeRoute ( const RouteRecord &  rec,
resip::Data &  buffer 
)
protectedvirtual

cj! TODO - add the extra local use only flag

Definition at line 324 of file AbstractDb.cxx.

◆ encodeUser()

void AbstractDb::encodeUser ( const UserRecord &  rec,
resip::Data &  buffer 
)
protectedvirtual

Definition at line 115 of file AbstractDb.cxx.

◆ eraseAcl()

void AbstractDb::eraseAcl ( const Key &  key)
virtual

Definition at line 468 of file AbstractDb.cxx.

◆ eraseConfig()

void AbstractDb::eraseConfig ( const Key &  key)
virtual

Definition at line 574 of file AbstractDb.cxx.

◆ eraseFilter()

void AbstractDb::eraseFilter ( const Key &  key)
virtual

Definition at line 793 of file AbstractDb.cxx.

◆ eraseRoute()

void AbstractDb::eraseRoute ( const Key &  key)
virtual

Definition at line 359 of file AbstractDb.cxx.

◆ eraseSiloRecord()

void AbstractDb::eraseSiloRecord ( const Key &  key)
virtual

Definition at line 954 of file AbstractDb.cxx.

◆ eraseStaticReg()

void AbstractDb::eraseStaticReg ( const Key &  key)
virtual

Definition at line 678 of file AbstractDb.cxx.

◆ eraseTlsPeerIdentity()

void AbstractDb::eraseTlsPeerIdentity ( const Key &  key)
virtual

Reimplemented in repro::SqlDb.

Definition at line 257 of file AbstractDb.cxx.

◆ eraseUser()

void AbstractDb::eraseUser ( const Key &  key)
virtual

Reimplemented in repro::SqlDb.

Definition at line 147 of file AbstractDb.cxx.

◆ firstAclKey()

AbstractDb::Key AbstractDb::firstAclKey ( )
virtual

Definition at line 535 of file AbstractDb.cxx.

◆ firstConfigKey()

AbstractDb::Key AbstractDb::firstConfigKey ( )
virtual

Definition at line 639 of file AbstractDb.cxx.

◆ firstFilterKey()

AbstractDb::Key AbstractDb::firstFilterKey ( )
virtual

Definition at line 865 of file AbstractDb.cxx.

◆ firstRouteKey()

AbstractDb::Key AbstractDb::firstRouteKey ( )
virtual

Definition at line 426 of file AbstractDb.cxx.

◆ firstStaticRegKey()

AbstractDb::Key AbstractDb::firstStaticRegKey ( )
virtual

Definition at line 742 of file AbstractDb.cxx.

◆ firstTlsPeerIdentityKey()

AbstractDb::Key AbstractDb::firstTlsPeerIdentityKey ( )
virtual

Reimplemented in repro::MySqlDb, and repro::PostgreSqlDb.

Definition at line 310 of file AbstractDb.cxx.

◆ firstUserKey()

AbstractDb::Key AbstractDb::firstUserKey ( )
virtual

Reimplemented in repro::MySqlDb, and repro::PostgreSqlDb.

Definition at line 220 of file AbstractDb.cxx.

◆ getAcl()

AbstractDb::AclRecord AbstractDb::getAcl ( const Key &  key) const
virtual

Definition at line 475 of file AbstractDb.cxx.

◆ getAllAcls()

AbstractDb::AclRecordList AbstractDb::getAllAcls ( )
virtual

Definition at line 516 of file AbstractDb.cxx.

◆ getAllConfigs()

AbstractDb::ConfigRecordList AbstractDb::getAllConfigs ( )
virtual

Definition at line 620 of file AbstractDb.cxx.

◆ getAllFilters()

AbstractDb::FilterRecordList AbstractDb::getAllFilters ( )
virtual

Definition at line 846 of file AbstractDb.cxx.

◆ getAllRoutes()

AbstractDb::RouteRecordList AbstractDb::getAllRoutes ( )
virtual

Definition at line 407 of file AbstractDb.cxx.

◆ getAllStaticRegs()

AbstractDb::StaticRegRecordList AbstractDb::getAllStaticRegs ( )
virtual

Definition at line 723 of file AbstractDb.cxx.

◆ getConfig()

AbstractDb::ConfigRecord AbstractDb::getConfig ( const Key &  key) const
virtual

Definition at line 581 of file AbstractDb.cxx.

◆ getFilter()

AbstractDb::FilterRecord AbstractDb::getFilter ( const Key &  key) const
virtual

Definition at line 800 of file AbstractDb.cxx.

◆ getRoute()

AbstractDb::RouteRecord AbstractDb::getRoute ( const Key &  key) const
virtual

Definition at line 366 of file AbstractDb.cxx.

◆ getSecondaryKey()

int AbstractDb::getSecondaryKey ( const Table  table,
const Key &  key,
const resip::Data &  data,
void **  secondaryKey,
unsigned int *  secondaryKeyLen 
)
protectedvirtual

Definition at line 84 of file AbstractDb.cxx.

◆ getSiloRecords()

bool AbstractDb::getSiloRecords ( const Key &  skey,
AbstractDb::SiloRecordList &  recordList 
)
virtual

Definition at line 931 of file AbstractDb.cxx.

◆ getStaticReg()

AbstractDb::StaticRegRecord AbstractDb::getStaticReg ( const Key &  key) const
virtual

Definition at line 685 of file AbstractDb.cxx.

◆ getTlsPeerIdentity()

AbstractDb::TlsPeerIdentityRecord AbstractDb::getTlsPeerIdentity ( const Key &  key) const
virtual

Reimplemented in repro::MySqlDb, and repro::PostgreSqlDb.

Definition at line 264 of file AbstractDb.cxx.

◆ getUser()

AbstractDb::UserRecord AbstractDb::getUser ( const Key &  key) const
virtual

Reimplemented in repro::MySqlDb, and repro::PostgreSqlDb.

Definition at line 154 of file AbstractDb.cxx.

◆ getUserAuthInfo()

Data AbstractDb::getUserAuthInfo ( const Key &  key) const
virtual

Reimplemented in repro::MySqlDb, and repro::PostgreSqlDb.

Definition at line 211 of file AbstractDb.cxx.

◆ isAuthorized()

bool AbstractDb::isAuthorized ( const std::set< resip::Data > &  peerNames,
const std::set< resip::Data > &  identities 
) const
virtual

Reimplemented in repro::SqlDb.

Definition at line 301 of file AbstractDb.cxx.

◆ isSane()

virtual bool repro::AbstractDb::isSane ( )
pure virtual

Implemented in repro::BerkeleyDb, and repro::SqlDb.

◆ nextAclKey()

AbstractDb::Key AbstractDb::nextAclKey ( )
virtual

Definition at line 542 of file AbstractDb.cxx.

◆ nextConfigKey()

AbstractDb::Key AbstractDb::nextConfigKey ( )
virtual

Definition at line 646 of file AbstractDb.cxx.

◆ nextFilterKey()

AbstractDb::Key AbstractDb::nextFilterKey ( )
virtual

Definition at line 872 of file AbstractDb.cxx.

◆ nextRouteKey()

AbstractDb::Key AbstractDb::nextRouteKey ( )
virtual

Definition at line 433 of file AbstractDb.cxx.

◆ nextStaticRegKey()

AbstractDb::Key AbstractDb::nextStaticRegKey ( )
virtual

Definition at line 749 of file AbstractDb.cxx.

◆ nextTlsPeerIdentityKey()

AbstractDb::Key AbstractDb::nextTlsPeerIdentityKey ( )
virtual

Reimplemented in repro::MySqlDb, and repro::PostgreSqlDb.

Definition at line 317 of file AbstractDb.cxx.

◆ nextUserKey()

AbstractDb::Key AbstractDb::nextUserKey ( )
virtual

Reimplemented in repro::MySqlDb, and repro::PostgreSqlDb.

Definition at line 227 of file AbstractDb.cxx.


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