|
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().