|
LibreOffice Module store (master) 1
|
#include <stordata.hxx>
Public Member Functions | |
| OStoreDirectoryPageObject (std::shared_ptr< PageData > const &rxPage=std::shared_ptr< PageData >()) | |
| Construction. More... | |
| virtual storeError | guard (sal_uInt32 nAddr) override |
| External representation. More... | |
| virtual storeError | verify (sal_uInt32 nAddr) const override |
| sal_uInt32 | attrib () const |
| attrib. More... | |
| void | attrib (sal_uInt32 nAttrib) |
| void | key (OStorePageKey const &rKey) |
| key. More... | |
| sal_uInt32 | path () const |
| path. More... | |
| sal_uInt32 | dataLength () const |
| dataLength. More... | |
| void | dataLength (sal_uInt32 nLength) |
| sal_uInt32 | directLink (sal_uInt16 nIndex) const |
| direct. More... | |
| void | directLink (sal_uInt16 nIndex, sal_uInt32 nAddr) |
| sal_uInt32 | singleLink (sal_uInt16 nIndex) const |
| single indirect. More... | |
| void | singleLink (sal_uInt16 nIndex, sal_uInt32 nAddr) |
| sal_uInt32 | doubleLink (sal_uInt16 nIndex) const |
| double indirect. More... | |
| void | doubleLink (sal_uInt16 nIndex, sal_uInt32 nAddr) |
| sal_uInt32 | tripleLink (sal_uInt16 nIndex) const |
| triple indirect. More... | |
| void | tripleLink (sal_uInt16 nIndex, sal_uInt32 nAddr) |
| storeError | read (sal_uInt32 nPage, OStoreDataPageObject &rData, OStorePageBIOS &rBIOS) const |
| read (external data page). More... | |
| storeError | write (sal_uInt32 nPage, OStoreDataPageObject &rData, OStorePageBIOS &rBIOS) |
| write (external data page). More... | |
| storeError | truncate (sal_uInt32 nPage, OStorePageBIOS &rBIOS) |
| truncate (external data page). More... | |
Public Member Functions inherited from store::OStorePageObject | |
| bool | dirty () const |
| State. More... | |
| void | clean () |
| void | touch () |
| sal_uInt32 | location () const |
| Location. More... | |
| template<class U > | |
| PageHolderObject< U > | makeHolder () const |
| template<class U > | |
| storeError | construct (rtl::Reference< PageData::Allocator > const &rxAllocator) |
| std::shared_ptr< PageData > & | get () |
| virtual storeError | guard (sal_uInt32 nAddr)=0 |
| virtual storeError | verify (sal_uInt32 nAddr) const =0 |
Private Types | |
| typedef OStorePageObject | base |
| typedef OStoreDirectoryPageData | page |
| typedef OStoreIndirectionPageData | indirect |
| typedef OStorePageDescriptor | D |
Private Member Functions | |
| page & | PAGE () |
| Representation. More... | |
| page const & | PAGE () const |
| page::ChunkScope | scope (sal_uInt32 nPage, page::DataBlock::LinkDescriptor &rDescr) const |
| scope (external data page; private). More... | |
| storeError | truncate (page::ChunkScope eScope, sal_uInt16 nRemain, OStorePageBIOS &rBIOS) |
| truncate (external data page scope; private). More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from store::OStorePageObject | |
| static void * | operator new (size_t n) |
| Allocation. More... | |
| static void | operator delete (void *p) |
Protected Member Functions inherited from store::OStorePageObject | |
| OStorePageObject (std::shared_ptr< PageData > rxPage) | |
| Construction. More... | |
| virtual | ~OStorePageObject () |
| Destruction. More... | |
Protected Attributes inherited from store::OStorePageObject | |
| std::shared_ptr< PageData > | m_xPage |
| Representation. More... | |
| bool | m_bDirty |
Definition at line 586 of file stordata.hxx.
|
private |
Definition at line 588 of file stordata.hxx.
|
private |
Definition at line 592 of file stordata.hxx.
|
private |
Definition at line 590 of file stordata.hxx.
|
private |
Definition at line 589 of file stordata.hxx.
|
inlineexplicit |
Construction.
Definition at line 597 of file stordata.hxx.
|
inline |
attrib.
Definition at line 608 of file stordata.hxx.
References store::ntohl(), and PAGE().
Referenced by store::OStoreDirectory_Impl::create(), store::OStoreLockBytes::create(), store::OStorePageManager::iget(), store::OStoreDirectory_Impl::iterate(), and store::OStorePageManager::remove().
|
inline |
Definition at line 612 of file stordata.hxx.
References store::htonl(), store::OStoreDirectoryPageData::m_aNameBlock, store::OStorePageNameBlock::m_nAttrib, PAGE(), and store::OStorePageObject::touch().
|
inline |
dataLength.
Definition at line 638 of file stordata.hxx.
References store::ntohl(), and PAGE().
Referenced by store::OStoreLockBytes::readAt(), store::OStorePageManager::remove(), store::OStoreLockBytes::setSize(), and store::OStoreLockBytes::writeAt().
|
inline |
Definition at line 642 of file stordata.hxx.
References store::htonl(), store::OStoreDirectoryPageData::m_aDataBlock, store::OStoreDirectoryDataBlock::m_nDataLen, nLength, PAGE(), and store::OStorePageObject::touch().
|
inline |
direct.
Definition at line 650 of file stordata.hxx.
References store::OStoreDirectoryDataBlock::directLink(), store::OStoreDirectoryPageData::m_aDataBlock, nIndex, and PAGE().
Referenced by read(), truncate(), and write().
|
inline |
Definition at line 654 of file stordata.hxx.
References store::OStoreDirectoryDataBlock::directLink(), store::OStoreDirectoryPageData::m_aDataBlock, nIndex, PAGE(), and store::OStorePageObject::touch().
|
inline |
double indirect.
Definition at line 674 of file stordata.hxx.
References store::OStoreDirectoryDataBlock::doubleLink(), store::OStoreDirectoryPageData::m_aDataBlock, nIndex, and PAGE().
Referenced by read(), truncate(), and write().
|
inline |
Definition at line 678 of file stordata.hxx.
References store::OStoreDirectoryDataBlock::doubleLink(), store::OStoreDirectoryPageData::m_aDataBlock, nIndex, PAGE(), and store::OStorePageObject::touch().
|
overridevirtual |
External representation.
Implements store::OStorePageObject.
Definition at line 533 of file stordata.cxx.
References store::PageHolderObject< T >::guard(), and store::OStorePageObject::m_xPage.
|
inline |
key.
Definition at line 620 of file stordata.hxx.
References store::OStorePageNameBlock::m_aKey, store::OStoreDirectoryPageData::m_aNameBlock, PAGE(), and store::OStorePageObject::touch().
Referenced by store::OStorePageManager::iget().
|
inlineprivate |
Representation.
Definition at line 719 of file stordata.hxx.
References store::OStorePageObject::m_xPage.
Referenced by attrib(), dataLength(), directLink(), doubleLink(), key(), path(), scope(), singleLink(), and tripleLink().
|
inlineprivate |
Definition at line 725 of file stordata.hxx.
References store::OStorePageObject::m_xPage.
|
inline |
path.
Definition at line 628 of file stordata.hxx.
References store::ntohl(), and PAGE().
Referenced by store::OStoreDirectory_Impl::create().
| storeError OStoreDirectoryPageObject::read | ( | sal_uInt32 | nPage, |
| OStoreDataPageObject & | rData, | ||
| OStorePageBIOS & | rBIOS | ||
| ) | const |
read (external data page).
Definition at line 677 of file stordata.cxx.
References directLink(), doubleLink(), store::OStorePageBIOS::loadObjectAt(), store::OStoreIndirectionPageObject::read(), SAL_WARN, scope(), store::OStoreDirectoryPageData::SCOPE_DIRECT, store::OStoreDirectoryPageData::SCOPE_DOUBLE, store::OStoreDirectoryPageData::SCOPE_SINGLE, store::OStoreDirectoryPageData::SCOPE_TRIPLE, store::OStoreDirectoryPageData::SCOPE_UNREACHABLE, singleLink(), store_E_CantSeek, store_E_None, store_E_NotExists, store_E_Unknown, STORE_PAGE_NULL, and tripleLink().
Referenced by store::OStoreLockBytes::readAt(), and store::OStoreLockBytes::writeAt().
|
private |
scope (external data page; private).
Definition at line 544 of file stordata.cxx.
References store::OStoreIndirectionPageData::capacityCount(), store::OStoreDirectoryDataBlock::directCount, store::OStoreDirectoryDataBlock::doubleCount, store::PageData::m_aDescr, n, nCount, PAGE(), SAL_WARN, store::OStoreDirectoryPageData::SCOPE_DIRECT, store::OStoreDirectoryPageData::SCOPE_DOUBLE, store::OStoreDirectoryPageData::SCOPE_SINGLE, store::OStoreDirectoryPageData::SCOPE_TRIPLE, store::OStoreDirectoryPageData::SCOPE_UNKNOWN, store::OStoreDirectoryPageData::SCOPE_UNREACHABLE, store::OStoreDirectoryDataBlock::singleCount, and store::OStoreDirectoryDataBlock::tripleCount.
Referenced by read(), truncate(), and write().
|
inline |
single indirect.
Definition at line 662 of file stordata.hxx.
References store::OStoreDirectoryPageData::m_aDataBlock, nIndex, PAGE(), and store::OStoreDirectoryDataBlock::singleLink().
Referenced by read(), truncate(), and write().
|
inline |
Definition at line 666 of file stordata.hxx.
References store::OStoreDirectoryPageData::m_aDataBlock, nIndex, PAGE(), store::OStoreDirectoryDataBlock::singleLink(), and store::OStorePageObject::touch().
|
inline |
triple indirect.
Definition at line 686 of file stordata.hxx.
References store::OStoreDirectoryPageData::m_aDataBlock, nIndex, PAGE(), and store::OStoreDirectoryDataBlock::tripleLink().
Referenced by read(), truncate(), and write().
|
inline |
Definition at line 690 of file stordata.hxx.
References store::OStoreDirectoryPageData::m_aDataBlock, nIndex, PAGE(), store::OStorePageObject::touch(), and store::OStoreDirectoryDataBlock::tripleLink().
|
private |
truncate (external data page scope; private).
Definition at line 956 of file stordata.cxx.
References store::OStoreDirectoryDataBlock::directCount, directLink(), store::OStoreDirectoryDataBlock::doubleCount, doubleLink(), store::OStorePageBIOS::free(), i, store::OStoreDirectoryPageData::SCOPE_DIRECT, store::OStoreDirectoryPageData::SCOPE_DOUBLE, store::OStoreDirectoryPageData::SCOPE_SINGLE, store::OStoreDirectoryPageData::SCOPE_TRIPLE, store::OStoreDirectoryDataBlock::singleCount, singleLink(), store_E_InvalidAccess, store_E_None, STORE_PAGE_NULL, store_truncate_Impl(), store::OStoreDirectoryDataBlock::tripleCount, and tripleLink().
| storeError OStoreDirectoryPageObject::truncate | ( | sal_uInt32 | nPage, |
| OStorePageBIOS & | rBIOS | ||
| ) |
truncate (external data page).
Definition at line 834 of file stordata.cxx.
References doubleLink(), SAL_WARN, scope(), store::OStoreDirectoryPageData::SCOPE_DIRECT, store::OStoreDirectoryPageData::SCOPE_DOUBLE, store::OStoreDirectoryPageData::SCOPE_SINGLE, store::OStoreDirectoryPageData::SCOPE_TRIPLE, store::OStoreDirectoryPageData::SCOPE_UNREACHABLE, singleLink(), store_E_CantSeek, store_E_None, store_E_Unknown, STORE_PAGE_NULL, store_truncate_Impl(), tripleLink(), and truncate().
Referenced by store::OStorePageManager::remove(), store::OStoreLockBytes::setSize(), and truncate().
|
overridevirtual |
Implements store::OStorePageObject.
Definition at line 538 of file stordata.cxx.
References store::OStorePageObject::m_xPage, and store::PageHolderObject< T >::verify().
| storeError OStoreDirectoryPageObject::write | ( | sal_uInt32 | nPage, |
| OStoreDataPageObject & | rData, | ||
| OStorePageBIOS & | rBIOS | ||
| ) |
write (external data page).
Definition at line 750 of file stordata.cxx.
References store::OStorePageBIOS::allocate(), directLink(), doubleLink(), store::OStoreIndirectionPageObject::loadOrCreate(), store::OStorePageObject::location(), SAL_WARN, store::OStorePageBIOS::saveObjectAt(), scope(), store::OStoreDirectoryPageData::SCOPE_DIRECT, store::OStoreDirectoryPageData::SCOPE_DOUBLE, store::OStoreDirectoryPageData::SCOPE_SINGLE, store::OStoreDirectoryPageData::SCOPE_TRIPLE, store::OStoreDirectoryPageData::SCOPE_UNREACHABLE, singleLink(), store_E_CantSeek, store_E_None, store_E_Pending, store_E_Unknown, STORE_PAGE_NULL, tripleLink(), and store::OStoreIndirectionPageObject::write().
Referenced by store::OStoreLockBytes::writeAt().