LibreOffice Module store (master) 1
|
#include <storbios.hxx>
Classes | |
struct | Ace |
Page Access (control). More... | |
class | AceCache |
Public Member Functions | |
OStorePageBIOS () | |
operator osl::Mutex & (void) const | |
Conversion into Mutex&. More... | |
virtual storeError | initialize (ILockBytes *pLockBytes, storeAccessMode eAccessMode, sal_uInt16 &rnPageSize) |
Initialization. More... | |
rtl::Reference< PageData::Allocator > & | allocator () |
storeError | read (sal_uInt32 nAddr, void *pData, sal_uInt32 nSize) const |
storeError | write (sal_uInt32 nAddr, const void *pData, sal_uInt32 nSize) const |
bool | isWriteable () const |
bool | isValid () const |
storeError | acquirePage (const OStorePageDescriptor &rDescr, storeAccessMode eMode) |
storeError | releasePage (const OStorePageDescriptor &rDescr) |
storeError | allocate (OStorePageObject &rPage) |
storeError | free (sal_uInt32 nAddr) |
storeError | loadObjectAt (OStorePageObject &rPage, sal_uInt32 nAddr) |
Page I/O. More... | |
storeError | saveObjectAt (OStorePageObject &rPage, sal_uInt32 nAddr) |
storeError | close () |
close. More... | |
storeError | flush () |
flush. More... | |
Public Member Functions inherited from store::OStoreObject | |
OStoreObject () | |
virtual bool | isKindOf (sal_uInt32 nTypeId) |
Replaces dynamic_cast type checking. More... | |
Public Member Functions inherited from salhelper::SimpleReferenceObject | |
SimpleReferenceObject () | |
void | acquire () |
void | release () |
Protected Member Functions | |
virtual | ~OStorePageBIOS () override |
Protected Member Functions inherited from store::OStoreObject | |
virtual | ~OStoreObject () override |
Protected Member Functions inherited from salhelper::SimpleReferenceObject | |
virtual | ~SimpleReferenceObject () COVERITY_NOEXCEPT_FALSE |
Private Member Functions | |
storeError | initialize_Impl (ILockBytes *pLockBytes, storeAccessMode eAccessMode, sal_uInt16 &rnPageSize) |
initialize_Impl. More... | |
void | cleanup_Impl () |
storeError | loadObjectAt_Impl (OStorePageObject &rPage, sal_uInt32 nAddr) const |
storeError | saveObjectAt_Impl (OStorePageObject &rPage, sal_uInt32 nAddr) const |
OStorePageBIOS (const OStorePageBIOS &)=delete | |
OStorePageBIOS & | operator= (const OStorePageBIOS &)=delete |
Private Attributes | |
rtl::Reference< ILockBytes > | m_xLockBytes |
osl::Mutex | m_aMutex |
std::unique_ptr< SuperBlockPage > | m_pSuper |
bool | m_bWriteable |
rtl::Reference< PageData::Allocator > | m_xAllocator |
rtl::Reference< PageCache > | m_xCache |
Ace | m_ace_head |
Additional Inherited Members | |
Static Public Member Functions inherited from salhelper::SimpleReferenceObject | |
static void * | operator new (std::size_t nSize) |
static void * | operator new (std::size_t nSize, std::nothrow_t const &rNothrow) |
static void | operator delete (void *pPtr) |
static void | operator delete (void *pPtr, std::nothrow_t const &rNothrow) |
Protected Attributes inherited from salhelper::SimpleReferenceObject | |
oslInterlockedCount | m_nCount |
Definition at line 37 of file storbios.hxx.
OStorePageBIOS::OStorePageBIOS | ( | ) |
Definition at line 474 of file storbios.cxx.
|
overrideprotectedvirtual |
Definition at line 479 of file storbios.cxx.
References cleanup_Impl().
|
privatedelete |
storeError OStorePageBIOS::acquirePage | ( | const OStorePageDescriptor & | rDescr, |
storeAccessMode | eMode | ||
) |
Definition at line 646 of file storbios.cxx.
References store::OStorePageBIOS::AceCache::create(), eMode, store::OStorePageBIOS::Ace::find(), store::OStorePageBIOS::AceCache::get(), store::OStorePageBIOS::Ace::insert(), m_ace_head, store::OStorePageBIOS::Ace::m_addr, m_aMutex, m_bWriteable, store::OStorePageDescriptor::m_nAddr, store::OStorePageBIOS::Ace::m_used, m_xLockBytes, ReadOnly, store_E_AccessViolation, store_E_InvalidAccess, store_E_None, and store_E_OutOfMemory.
Referenced by store::OStorePageManager::remove().
storeError OStorePageBIOS::allocate | ( | OStorePageObject & | rPage | ) |
Definition at line 715 of file storbios.cxx.
References store::PageData::location(), m_aMutex, m_bWriteable, m_pSuper, m_xLockBytes, saveObjectAt_Impl(), store_E_AccessViolation, store_E_InvalidAccess, store_E_None, and STORE_PAGE_NULL.
Referenced by store::OStoreBTreeRootObject::change(), store::OStoreIndirectionPageObject::loadOrCreate(), store::OStoreBTreeRootObject::loadOrCreate(), store::OStorePageManager::save_dirpage_Impl(), store::OStoreBTreeNodeObject::split(), store::OStoreIndirectionPageObject::write(), and store::OStoreDirectoryPageObject::write().
|
inline |
Definition at line 57 of file storbios.hxx.
References m_xAllocator.
Referenced by store::OStoreBTreeRootObject::change(), store::OStorePageManager::iget(), store::OStoreIndirectionPageObject::loadOrCreate(), store::OStoreBTreeRootObject::loadOrCreate(), and store::OStoreBTreeNodeObject::split().
|
private |
Definition at line 585 of file storbios.cxx.
References store::OStorePageBIOS::AceCache::destroy(), store::OStorePageBIOS::AceCache::get(), m_ace_head, store::OStorePageBIOS::Ace::m_next, m_pSuper, store::OStorePageBIOS::Ace::m_used, m_xAllocator, m_xCache, m_xLockBytes, and SAL_INFO.
Referenced by close(), initialize(), initialize_Impl(), and ~OStorePageBIOS().
storeError OStorePageBIOS::close | ( | ) |
close.
Definition at line 862 of file storbios.cxx.
References cleanup_Impl(), m_aMutex, and store_E_None.
Referenced by store_closeFile().
storeError OStorePageBIOS::flush | ( | ) |
flush.
Definition at line 877 of file storbios.cxx.
References m_aMutex, m_xLockBytes, and store_E_InvalidAccess.
storeError OStorePageBIOS::free | ( | sal_uInt32 | nAddr | ) |
Definition at line 760 of file storbios.cxx.
References m_aMutex, m_bWriteable, m_pSuper, m_xCache, m_xLockBytes, store_E_AccessViolation, and store_E_InvalidAccess.
Referenced by store::OStorePageManager::remove(), store::OStoreBTreeNodeObject::remove(), store_truncate_Impl(), store::OStoreDirectoryPageObject::truncate(), and store::OStoreIndirectionPageObject::truncate().
|
virtual |
Initialization.
pLockBytes | [in] |
eAccessMode | [in] |
rnPageSize | [inout] |
Reimplemented in store::OStorePageManager.
Definition at line 484 of file storbios.cxx.
References cleanup_Impl(), initialize_Impl(), m_aMutex, and store_E_None.
Referenced by store::OStorePageManager::initialize().
|
private |
initialize_Impl.
Definition at line 506 of file storbios.cxx.
References cleanup_Impl(), Create, m_bWriteable, m_pSuper, m_xAllocator, m_xCache, m_xLockBytes, store::ntohs(), store::PageCache_createInstance(), read(), ReadOnly, ReadWrite, store_E_InvalidParameter, store_E_None, store_E_NotExists, STORE_MAXIMUM_PAGESIZE, STORE_MINIMUM_PAGESIZE, and store::SuperBlockPage::theSize.
Referenced by initialize().
|
inline |
Definition at line 163 of file storbios.hxx.
References m_xLockBytes.
Referenced by store::OStorePageManager::isValid().
|
inline |
Definition at line 158 of file storbios.hxx.
References m_bWriteable.
Referenced by store::OStorePageManager::iget(), store::OStorePageManager::initialize(), store::OStorePageManager::remove(), and store::SuperBlockPage::verify().
storeError OStorePageBIOS::loadObjectAt | ( | OStorePageObject & | rPage, |
sal_uInt32 | nAddr | ||
) |
Page I/O.
Definition at line 781 of file storbios.cxx.
References loadObjectAt_Impl(), m_aMutex, m_xLockBytes, and store_E_InvalidAccess.
Referenced by store::OStoreBTreeRootObject::find_insert(), store::OStoreBTreeRootObject::find_lookup(), store::OStorePageManager::initialize(), store::OStorePageManager::load_dirpage_Impl(), store::OStoreIndirectionPageObject::loadOrCreate(), store::OStoreBTreeRootObject::loadOrCreate(), store::OStoreIndirectionPageObject::read(), store::OStoreDirectoryPageObject::read(), store::OStorePageManager::remove(), store::OStoreBTreeNodeObject::remove(), store::OStorePageManager::remove_Impl(), and store_truncate_Impl().
|
private |
Definition at line 796 of file storbios.cxx.
References store::OStorePageObject::clean(), store::OStorePageObject::get(), m_xCache, m_xLockBytes, store_E_None, store_E_NotExists, and store::OStorePageObject::verify().
Referenced by loadObjectAt().
|
inline |
|
privatedelete |
storeError OStorePageBIOS::read | ( | sal_uInt32 | nAddr, |
void * | pData, | ||
sal_uInt32 | nSize | ||
) | const |
Definition at line 616 of file storbios.cxx.
References m_xLockBytes, pData, and store_E_InvalidAccess.
Referenced by initialize_Impl(), store::SuperBlockPage::unusedHead(), and store::SuperBlockPage::unusedPush().
storeError OStorePageBIOS::releasePage | ( | const OStorePageDescriptor & | rDescr | ) |
Definition at line 687 of file storbios.cxx.
References store::OStorePageBIOS::AceCache::destroy(), store::OStorePageBIOS::Ace::find(), store::OStorePageBIOS::AceCache::get(), m_ace_head, store::OStorePageBIOS::Ace::m_addr, m_aMutex, store::OStorePageDescriptor::m_nAddr, store::OStorePageBIOS::Ace::m_used, m_xLockBytes, store_E_InvalidAccess, store_E_None, and store_E_NotExists.
Referenced by store::OStorePageManager::remove().
storeError OStorePageBIOS::saveObjectAt | ( | OStorePageObject & | rPage, |
sal_uInt32 | nAddr | ||
) |
Definition at line 822 of file storbios.cxx.
References m_aMutex, m_bWriteable, m_xLockBytes, saveObjectAt_Impl(), store_E_AccessViolation, and store_E_InvalidAccess.
Referenced by store::OStoreBTreeRootObject::change(), store::OStorePageManager::initialize(), store::OStoreBTreeNodeObject::remove(), store::OStorePageManager::save_dirpage_Impl(), store::OStoreBTreeNodeObject::split(), store::OStoreIndirectionPageObject::truncate(), store::OStoreIndirectionPageObject::write(), and store::OStoreDirectoryPageObject::write().
|
private |
Definition at line 840 of file storbios.cxx.
References store::OStorePageObject::clean(), store::OStorePageObject::get(), store::OStorePageObject::guard(), m_xCache, m_xLockBytes, and store_E_None.
Referenced by allocate(), and saveObjectAt().
storeError OStorePageBIOS::write | ( | sal_uInt32 | nAddr, |
const void * | pData, | ||
sal_uInt32 | nSize | ||
) | const |
Definition at line 630 of file storbios.cxx.
References m_bWriteable, m_xLockBytes, pData, store_E_AccessViolation, and store_E_InvalidAccess.
Referenced by store::SuperBlockPage::save(), store::SuperBlockPage::unusedPush(), and store::SuperBlockPage::verify().
|
private |
Definition at line 134 of file storbios.hxx.
Referenced by acquirePage(), cleanup_Impl(), and releasePage().
|
private |
Definition at line 104 of file storbios.hxx.
Referenced by acquirePage(), allocate(), close(), flush(), free(), initialize(), loadObjectAt(), releasePage(), and saveObjectAt().
|
private |
Definition at line 108 of file storbios.hxx.
Referenced by acquirePage(), allocate(), free(), initialize_Impl(), isWriteable(), saveObjectAt(), and write().
|
private |
Definition at line 106 of file storbios.hxx.
Referenced by allocate(), cleanup_Impl(), free(), and initialize_Impl().
|
private |
Definition at line 110 of file storbios.hxx.
Referenced by allocator(), cleanup_Impl(), and initialize_Impl().
|
private |
Definition at line 111 of file storbios.hxx.
Referenced by cleanup_Impl(), free(), initialize_Impl(), loadObjectAt_Impl(), and saveObjectAt_Impl().
|
private |
Definition at line 103 of file storbios.hxx.
Referenced by acquirePage(), allocate(), cleanup_Impl(), flush(), free(), initialize_Impl(), isValid(), loadObjectAt(), loadObjectAt_Impl(), read(), releasePage(), saveObjectAt(), saveObjectAt_Impl(), and write().