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

#include <NeonLockStore.hxx>

Collaboration diagram for webdav_ucp::NeonLockStore:
[legend]

Public Member Functions

 NeonLockStore ()
 
 ~NeonLockStore ()
 
void registerSession (HttpSession *pHttpSession)
 
NeonLockfindByUri (OUString const &rUri)
 
void addLock (NeonLock *pLock, rtl::Reference< NeonSession > const &xSession, sal_Int32 nLastChanceToSendRefreshRequest)
 
void removeLock (NeonLock *pLock)
 
void removeLockDeferred (NeonLock *pLock)
 
void refreshLocks ()
 

Private Member Functions

void startTicker ()
 
void stopTicker (osl::ClearableMutexGuard &rGuard)
 

Private Attributes

osl::Mutex m_aMutex
 
ne_lock_store *const m_pNeonLockStore
 
rtl::Reference< TickerThreadm_pTickerThread
 
LockInfoMap m_aLockInfoMap
 
std::vector< NeonLock * > m_aRemoveDeferred
 

Detailed Description

Definition at line 63 of file NeonLockStore.hxx.

Constructor & Destructor Documentation

NeonLockStore::NeonLockStore ( )

Definition at line 87 of file NeonLockStore.cxx.

NeonLockStore::~NeonLockStore ( )

Definition at line 104 of file NeonLockStore.cxx.

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

Member Function Documentation

void NeonLockStore::addLock ( NeonLock pLock,
rtl::Reference< NeonSession > const &  xSession,
sal_Int32  nLastChanceToSendRefreshRequest 
)

Definition at line 172 of file NeonLockStore.cxx.

References m_aLockInfoMap, m_aMutex, m_pNeonLockStore, and startTicker().

NeonLock * NeonLockStore::findByUri ( OUString const &  rUri)
void NeonLockStore::refreshLocks ( )
void NeonLockStore::registerSession ( HttpSession pHttpSession)

Definition at line 155 of file NeonLockStore.cxx.

References m_aMutex, and m_pNeonLockStore.

Referenced by webdav_ucp::NeonSession::Init().

void NeonLockStore::removeLock ( NeonLock pLock)
void NeonLockStore::removeLockDeferred ( NeonLock pLock)

Definition at line 196 of file NeonLockStore.cxx.

References m_aMutex, and m_aRemoveDeferred.

Referenced by webdav_ucp::NeonSession::LOCK().

void NeonLockStore::startTicker ( )
private

Definition at line 126 of file NeonLockStore.cxx.

References m_aMutex, and m_pTickerThread.

Referenced by addLock().

void NeonLockStore::stopTicker ( osl::ClearableMutexGuard &  rGuard)
private

Definition at line 137 of file NeonLockStore.cxx.

References m_pTickerThread.

Referenced by removeLock(), and ~NeonLockStore().

Member Data Documentation

LockInfoMap webdav_ucp::NeonLockStore::m_aLockInfoMap
private

Definition at line 68 of file NeonLockStore.hxx.

Referenced by addLock(), refreshLocks(), removeLock(), and ~NeonLockStore().

osl::Mutex webdav_ucp::NeonLockStore::m_aMutex
private
std::vector<NeonLock*> webdav_ucp::NeonLockStore::m_aRemoveDeferred
private

Definition at line 69 of file NeonLockStore.hxx.

Referenced by refreshLocks(), and removeLockDeferred().

ne_lock_store* const webdav_ucp::NeonLockStore::m_pNeonLockStore
private

Definition at line 66 of file NeonLockStore.hxx.

Referenced by addLock(), findByUri(), registerSession(), removeLock(), and ~NeonLockStore().

rtl::Reference< TickerThread > webdav_ucp::NeonLockStore::m_pTickerThread
private

Definition at line 67 of file NeonLockStore.hxx.

Referenced by startTicker(), and stopTicker().


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