|
LibreOffice Module store (master) 1
|
#include <storpage.hxx>
Public Member Functions | |
| OStorePageManager () | |
| virtual storeError | initialize (ILockBytes *pLockBytes, storeAccessMode eAccessMode, sal_uInt16 &rnPageSize) override |
| Initialization (two-phase construction). More... | |
| bool | isValid () const |
| isValid. More... | |
| storeError | iget (OStoreDirectoryPageObject &rPage, sal_uInt32 nAttrib, const rtl_String *pPath, const rtl_String *pName, storeAccessMode eMode) |
| storeError | iterate (OStorePageKey &rKey, OStorePageLink &rLink, sal_uInt32 &rAttrib) |
| storeError | remove (const OStorePageKey &rKey) |
| remove. More... | |
| virtual bool | isKindOf (sal_uInt32 nTypeId) override |
| IStoreHandle. More... | |
Public Member Functions inherited from store::OStorePageBIOS | |
| 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 () |
Static Public Member Functions | |
| static storeError | namei (const rtl_String *pPath, const rtl_String *pName, OStorePageKey &rKey) |
| DirectoryPage I/O (managed). More... | |
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 Member Functions | |
| virtual | ~OStorePageManager () override |
Protected Member Functions inherited from store::OStorePageBIOS | |
| 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 Types | |
| typedef OStorePageBIOS | base |
| typedef OStorePageManager | self |
| typedef OStoreBTreeEntry | entry |
| typedef OStoreBTreeNodeData | page |
| typedef OStoreBTreeNodeObject | node |
| typedef OStoreDirectoryPageData | inode |
| typedef PageHolderObject< inode > | inode_holder_type |
Private Member Functions | |
| storeError | load_dirpage_Impl (const OStorePageKey &rKey, OStoreDirectoryPageObject &rPage) |
| DirectoryPage I/O (managed). More... | |
| storeError | save_dirpage_Impl (const OStorePageKey &rKey, OStoreDirectoryPageObject &rPage) |
| storeError | find_lookup (OStoreBTreeNodeObject &rNode, sal_uInt16 &rIndex, OStorePageKey const &rKey) |
| find_lookup (node page and index, w/o split). More... | |
| storeError | remove_Impl (entry &rEntry) |
| remove (possibly down from root). More... | |
| OStorePageManager (const OStorePageManager &)=delete | |
| OStorePageManager & | operator= (const OStorePageManager &)=delete |
Private Attributes | |
| OStoreBTreeRootObject | m_aRoot |
| Representation. More... | |
Static Private Attributes | |
| static const sal_uInt32 | m_nTypeId = sal_uInt32(0x62190120) |
| IStoreHandle TypeId. More... | |
Friends | |
| OStorePageManager *SAL_CALL | query (OStoreObject *pHandle, OStorePageManager *) |
| IStoreHandle query() template function specialization. More... | |
Additional Inherited Members | |
Protected Attributes inherited from salhelper::SimpleReferenceObject | |
| oslInterlockedCount | m_nCount |
Definition at line 38 of file storpage.hxx.
|
private |
Definition at line 90 of file storpage.hxx.
|
private |
Definition at line 93 of file storpage.hxx.
|
private |
Definition at line 97 of file storpage.hxx.
|
private |
Definition at line 98 of file storpage.hxx.
|
private |
Definition at line 95 of file storpage.hxx.
|
private |
Definition at line 94 of file storpage.hxx.
|
private |
Definition at line 91 of file storpage.hxx.
| OStorePageManager::OStorePageManager | ( | ) |
Definition at line 37 of file storpage.cxx.
|
overrideprotectedvirtual |
Definition at line 41 of file storpage.cxx.
|
privatedelete |
|
private |
find_lookup (node page and index, w/o split).
Definition at line 101 of file storpage.cxx.
References store::OStoreBTreeEntry::compare(), store::OStoreBTreeEntry::COMPARE_EQUAL, store::OStoreBTreeRootObject::find_lookup(), store::OStorePageObject::get(), store::OStorePageLink::location(), store::OStoreBTreeEntry::m_aLink, m_aRoot, SAL_WARN_IF, store_E_None, store_E_NotExists, and STORE_PAGE_NULL.
Referenced by load_dirpage_Impl(), and remove().
| storeError OStorePageManager::iget | ( | OStoreDirectoryPageObject & | rPage, |
| sal_uInt32 | nAttrib, | ||
| const rtl_String * | pPath, | ||
| const rtl_String * | pName, | ||
| storeAccessMode | eMode | ||
| ) |
Definition at line 229 of file storpage.cxx.
References store::OStorePageBIOS::allocator(), store::OStoreDirectoryPageObject::attrib(), store::OStorePageObject::construct(), eMode, store::OStorePageObject::get(), store::htonl(), isValid(), store::OStorePageBIOS::isWriteable(), store::OStoreDirectoryPageObject::key(), load_dirpage_Impl(), store::OStoreDirectoryPageData::m_aNameBlock, store::OStorePageKey::m_nLow, store::OStoreDirectoryPageData::m_pData, store::OStorePageNameBlock::m_pData, namei(), store::ntohl(), pName, ReadOnly, ReadWrite, save_dirpage_Impl(), STORE_ATTRIB_ISDIR, STORE_ATTRIB_ISLINK, store_E_AccessViolation, store_E_InvalidAccess, store_E_None, and store_E_NotExists.
|
overridevirtual |
Initialization (two-phase construction).
Reimplemented from store::OStorePageBIOS.
Definition at line 54 of file storpage.cxx.
References store::OStorePageObject::get(), store::OStorePageBIOS::initialize(), store::OStorePageBIOS::isWriteable(), store::OStorePageBIOS::loadObjectAt(), store::OStoreBTreeRootObject::loadOrCreate(), m_aRoot, store::OStorePageBIOS::saveObjectAt(), store_E_InvalidParameter, store_E_None, and store_E_Pending.
|
overridevirtual |
IStoreHandle.
Reimplemented from store::OStoreObject.
Definition at line 45 of file storpage.cxx.
References m_nTypeId.
|
inline |
isValid.
Definition at line 138 of file storpage.hxx.
References store::OStorePageBIOS::isValid().
| storeError OStorePageManager::iterate | ( | OStorePageKey & | rKey, |
| OStorePageLink & | rLink, | ||
| sal_uInt32 & | rAttrib | ||
| ) |
Definition at line 316 of file storpage.cxx.
References store::OStoreBTreeRootObject::find_lookup(), store::OStorePageObject::get(), i, isValid(), store::OStoreBTreeEntry::m_aKey, store::OStoreBTreeEntry::m_aLink, m_aRoot, store::OStoreBTreeEntry::m_nAttrib, store::ntohl(), store_E_InvalidAccess, and store_E_None.
|
private |
DirectoryPage I/O (managed).
Definition at line 352 of file storpage.cxx.
References find_lookup(), store::OStorePageObject::get(), i, store::OStorePageBIOS::loadObjectAt(), store::OStorePageLink::location(), store::OStoreBTreeEntry::m_aLink, and store_E_None.
Referenced by iget().
|
static |
DirectoryPage I/O (managed).
Definition at line 206 of file storpage.cxx.
References store::htonl(), store::OStorePageKey::m_nHigh, store::OStorePageKey::m_nLow, pName, store_E_InvalidParameter, store_E_NameTooLong, store_E_None, and STORE_MAXIMUM_NAMESIZE.
Referenced by iget().
|
privatedelete |
| storeError OStorePageManager::remove | ( | const OStorePageKey & | rKey | ) |
remove.
Definition at line 425 of file storpage.cxx.
References store::OStorePageBIOS::acquirePage(), store::OStoreDirectoryPageObject::attrib(), store::OStoreDirectoryPageData::capacity(), store::OStoreDirectoryPageObject::dataLength(), find_lookup(), store::OStorePageBIOS::free(), store::OStorePageObject::get(), i, isValid(), store::OStorePageBIOS::isWriteable(), store::OStorePageBIOS::loadObjectAt(), store::OStorePageLink::location(), store::OStorePageObject::location(), store::PageData::m_aDescr, store::OStoreBTreeEntry::m_aLink, store::OStoreBTreeEntry::m_nAttrib, store::OStoreDirectoryPageData::m_pData, store::ntohl(), ReadWrite, store::OStorePageBIOS::releasePage(), remove_Impl(), store::OStoreDirectoryPageData::scope(), store::OStoreDirectoryPageData::SCOPE_EXTERNAL, STORE_ATTRIB_ISLINK, store_E_AccessViolation, store_E_InvalidAccess, store_E_None, and store::OStoreDirectoryPageObject::truncate().
|
private |
remove (possibly down from root).
Definition at line 138 of file storpage.cxx.
References store::OStoreBTreeEntry::compare(), store::OStoreBTreeEntry::COMPARE_GREATER, store::OStoreBTreeEntry::COMPARE_LESS, store::OStorePageObject::get(), i, store::OStorePageBIOS::loadObjectAt(), m_aRoot, n, store::OStoreBTreeNodeObject::remove(), result, SAL_WARN_IF, store_E_None, store_E_NotExists, store_E_Unknown, STORE_PAGE_NULL, and store::PageHolderObject< T >::swap().
Referenced by remove().
|
private |
Definition at line 373 of file storpage.cxx.
References store::OStorePageBIOS::allocate(), store::OStoreBTreeRootObject::find_insert(), store::OStorePageObject::get(), i, store::OStorePageLink::location(), store::OStorePageObject::location(), store::OStoreBTreeEntry::m_aLink, m_aRoot, store::OStorePageBIOS::saveObjectAt(), store_E_AlreadyExists, store_E_None, and STORE_PAGE_NULL.
Referenced by iget().
|
friend |
IStoreHandle query() template function specialization.
|
private |
Representation.
Definition at line 111 of file storpage.hxx.
Referenced by find_lookup(), initialize(), iterate(), remove_Impl(), and save_dirpage_Impl().
|
staticprivate |
IStoreHandle TypeId.
Definition at line 102 of file storpage.hxx.
Referenced by isKindOf(), and store::query().