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

Abstract interface of a datastore of all publication documents processed by DUM. More...

#include <PublicationPersistenceManager.hxx>

Inheritance diagram for resip::PublicationPersistenceManager:
[legend]

Classes

class  ETagMerger
 
struct  PubDocument
 

Public Types

typedef std::map< resip::Data, PubDocument > ETagToDocumentMap
 
typedef std::map< resip::Data, ETagToDocumentMap > KeyToETagMap
 

Public Member Functions

 PublicationPersistenceManager ()=default
 
virtual ~PublicationPersistenceManager ()=default
 
virtual void addUpdateDocument (const PubDocument &document)=0
 
virtual void addUpdateDocument (const Data &eventType, const Data &documentKey, const Data &eTag, uint64_t expirationTime, const Contents *contents, const SecurityAttributes *securityAttributes, bool syncPublication=false)
 
virtual bool removeDocument (const Data &eventType, const Data &documentKey, const Data &eTag, uint64_t lastUpdated, bool syncPublication=false)=0
 
virtual bool getMergedETags (const Data &eventType, const Data &documentKey, ETagMerger &merger, Contents *destination)=0
 
virtual bool documentExists (const Data &eventType, const Data &documentKey, const Data &eTag)=0
 
virtual bool getDocument (const resip::Data &eventType, const resip::Data &documentKey, const resip::Data &eTag, PubDocument &document)
 
virtual bool checkExpired (const Data &eventType, const Data &documentKey, const Data &eTag, uint64_t lastUpdated)=0
 
virtual void lockDocuments ()=0
 
virtual KeyToETagMap & getDocuments ()=0
 
virtual void unlockDocuments ()=0
 

Detailed Description

Abstract interface of a datastore of all publication documents processed by DUM.

Derived classes implement the actual storage of publication documents. resip::InMemorySyncPubDb is an example of a local datastore.

Definition at line 20 of file PublicationPersistenceManager.hxx.

Member Typedef Documentation

◆ ETagToDocumentMap

◆ KeyToETagMap

Constructor & Destructor Documentation

◆ PublicationPersistenceManager()

resip::PublicationPersistenceManager::PublicationPersistenceManager ( )
default

◆ ~PublicationPersistenceManager()

virtual resip::PublicationPersistenceManager::~PublicationPersistenceManager ( )
virtualdefault

Member Function Documentation

◆ addUpdateDocument() [1/2]

virtual void resip::PublicationPersistenceManager::addUpdateDocument ( const Data &  eventType,
const Data &  documentKey,
const Data &  eTag,
uint64_t  expirationTime,
const Contents *  contents,
const SecurityAttributes *  securityAttributes,
bool  syncPublication = false 
)
inlinevirtual

Definition at line 355 of file PublicationPersistenceManager.hxx.

◆ addUpdateDocument() [2/2]

virtual void resip::PublicationPersistenceManager::addUpdateDocument ( const PubDocument &  document)
pure virtual

Implemented in resip::InMemorySyncPubDb.

◆ checkExpired()

virtual bool resip::PublicationPersistenceManager::checkExpired ( const Data &  eventType,
const Data &  documentKey,
const Data &  eTag,
uint64_t  lastUpdated 
)
pure virtual

Implemented in resip::InMemorySyncPubDb.

◆ documentExists()

virtual bool resip::PublicationPersistenceManager::documentExists ( const Data &  eventType,
const Data &  documentKey,
const Data &  eTag 
)
pure virtual

Implemented in resip::InMemorySyncPubDb.

◆ getDocument()

virtual bool resip::PublicationPersistenceManager::getDocument ( const resip::Data &  eventType,
const resip::Data &  documentKey,
const resip::Data &  eTag,
PubDocument &  document 
)
inlinevirtual

Definition at line 362 of file PublicationPersistenceManager.hxx.

◆ getDocuments()

virtual KeyToETagMap & resip::PublicationPersistenceManager::getDocuments ( )
pure virtual

Implemented in resip::InMemorySyncPubDb.

◆ getMergedETags()

virtual bool resip::PublicationPersistenceManager::getMergedETags ( const Data &  eventType,
const Data &  documentKey,
ETagMerger &  merger,
Contents *  destination 
)
pure virtual

Implemented in resip::InMemorySyncPubDb.

◆ lockDocuments()

virtual void resip::PublicationPersistenceManager::lockDocuments ( )
pure virtual

Implemented in resip::InMemorySyncPubDb.

◆ removeDocument()

virtual bool resip::PublicationPersistenceManager::removeDocument ( const Data &  eventType,
const Data &  documentKey,
const Data &  eTag,
uint64_t  lastUpdated,
bool  syncPublication = false 
)
pure virtual

Implemented in resip::InMemorySyncPubDb.

◆ unlockDocuments()

virtual void resip::PublicationPersistenceManager::unlockDocuments ( )
pure virtual

Implemented in resip::InMemorySyncPubDb.


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