LibreOffice Module ucb (master)  1
Public Member Functions | Private Member Functions | Private Attributes | List of all members
http_dav_ucp::SerfLockStore Class Reference

#include <SerfLockStore.hxx>

Collaboration diagram for http_dav_ucp::SerfLockStore:
[legend]

Public Member Functions

 SerfLockStore ()
 
 ~SerfLockStore ()
 
OUString const * getLockTokenForURI (OUString const &rURI, css::ucb::Lock const *pLock)
 
void addLock (const OUString &rURI, css::ucb::Lock const &rLock, const OUString &sToken, rtl::Reference< CurlSession > const &xSession, sal_Int32 nLastChanceToSendRefreshRequest)
 
void removeLock (const OUString &rURI)
 
void refreshLocks ()
 

Private Member Functions

void removeLockImpl (std::unique_lock< std::mutex > &rGuard, const OUString &rURI)
 
void startTicker ()
 
void stopTicker (std::unique_lock< std::mutex > &rGuard)
 

Private Attributes

std::mutex m_aMutex
 
rtl::Reference< TickerThreadm_pTickerThread
 
LockInfoMap m_aLockInfoMap
 

Detailed Description

Definition at line 59 of file SerfLockStore.hxx.

Constructor & Destructor Documentation

SerfLockStore::SerfLockStore ( )

Definition at line 84 of file SerfLockStore.cxx.

SerfLockStore::~SerfLockStore ( )

Definition at line 89 of file SerfLockStore.cxx.

References m_aLockInfoMap, m_aMutex, SAL_WARN_IF, and stopTicker().

Member Function Documentation

void SerfLockStore::addLock ( const OUString &  rURI,
css::ucb::Lock const &  rLock,
const OUString &  sToken,
rtl::Reference< CurlSession > const &  xSession,
sal_Int32  nLastChanceToSendRefreshRequest 
)

Definition at line 172 of file SerfLockStore.cxx.

References m_aLockInfoMap, m_aMutex, and startTicker().

OUString const * SerfLockStore::getLockTokenForURI ( OUString const &  rURI,
css::ucb::Lock const *  pLock 
)

Definition at line 138 of file SerfLockStore.cxx.

References m_aLockInfoMap, and m_aMutex.

void SerfLockStore::refreshLocks ( )
void SerfLockStore::removeLock ( const OUString &  rURI)

Definition at line 190 of file SerfLockStore.cxx.

References m_aMutex, and removeLockImpl().

void SerfLockStore::removeLockImpl ( std::unique_lock< std::mutex > &  rGuard,
const OUString &  rURI 
)
private

Definition at line 197 of file SerfLockStore.cxx.

References m_aLockInfoMap, and stopTicker().

Referenced by refreshLocks(), and removeLock().

void SerfLockStore::startTicker ( )
private

Definition at line 105 of file SerfLockStore.cxx.

References m_aMutex, and m_pTickerThread.

Referenced by addLock().

void SerfLockStore::stopTicker ( std::unique_lock< std::mutex > &  rGuard)
private

Definition at line 117 of file SerfLockStore.cxx.

References m_pTickerThread.

Referenced by removeLockImpl(), and ~SerfLockStore().

Member Data Documentation

LockInfoMap http_dav_ucp::SerfLockStore::m_aLockInfoMap
private
std::mutex http_dav_ucp::SerfLockStore::m_aMutex
private
rtl::Reference< TickerThread > http_dav_ucp::SerfLockStore::m_pTickerThread
private

Definition at line 62 of file SerfLockStore.hxx.

Referenced by startTicker(), and stopTicker().


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