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