LibreOffice Module store (master) 1
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
store::SuperBlockPage Struct Reference
Collaboration diagram for store::SuperBlockPage:
[legend]

Public Types

typedef OStoreSuperBlock SuperBlock
 

Public Member Functions

 SuperBlockPage (sal_uInt16 nPageSize=thePageSize)
 
storeError save (OStorePageBIOS const &rBIOS, sal_uInt32 nSize=theSize)
 
storeError unusedHead (OStorePageBIOS const &rBIOS, PageData &rPageHead)
 Page allocation. More...
 
storeError unusedPop (OStorePageBIOS const &rBIOS, PageData const &rPageHead)
 Pop freelist head (alloc page, step 2). More...
 
storeError unusedPush (OStorePageBIOS const &rBIOS, sal_uInt32 nAddr)
 Push new freelist head. More...
 
storeError verify (OStorePageBIOS const &rBIOS)
 Verify (with repair). More...
 

Static Public Member Functions

static void * operator new (size_t n)
 
static void operator delete (void *p)
 
static void * operator new (SAL_UNUSED_PARAMETER size_t, sal_uInt16 nPageSize)
 
static void operator delete (void *p, SAL_UNUSED_PARAMETER sal_uInt16)
 

Public Attributes

SuperBlock m_aSuperOne
 
SuperBlock m_aSuperTwo
 

Static Public Attributes

static const size_t theSize = 2 * SuperBlock::theSize
 
static const sal_uInt16 thePageSize = theSize
 

Detailed Description

Definition at line 134 of file storbios.cxx.

Member Typedef Documentation

◆ SuperBlock

typedef OStoreSuperBlock store::SuperBlockPage::SuperBlock

Definition at line 136 of file storbios.cxx.

Constructor & Destructor Documentation

◆ SuperBlockPage()

store::SuperBlockPage::SuperBlockPage ( sal_uInt16  nPageSize = thePageSize)
inlineexplicit

Definition at line 165 of file storbios.cxx.

Member Function Documentation

◆ operator delete() [1/2]

static void store::SuperBlockPage::operator delete ( void *  p)
inlinestatic

Definition at line 150 of file storbios.cxx.

References p.

◆ operator delete() [2/2]

static void store::SuperBlockPage::operator delete ( void *  p,
SAL_UNUSED_PARAMETER  sal_uInt16 
)
inlinestatic

Definition at line 160 of file storbios.cxx.

References p.

◆ operator new() [1/2]

static void * store::SuperBlockPage::operator new ( SAL_UNUSED_PARAMETER  size_t,
sal_uInt16  nPageSize 
)
inlinestatic

Definition at line 155 of file storbios.cxx.

◆ operator new() [2/2]

static void * store::SuperBlockPage::operator new ( size_t  n)
inlinestatic

Definition at line 145 of file storbios.cxx.

References n.

◆ save()

storeError store::SuperBlockPage::save ( OStorePageBIOS const &  rBIOS,
sal_uInt32  nSize = theSize 
)
inline

Definition at line 170 of file storbios.cxx.

References m_aSuperOne, m_aSuperTwo, and store::OStorePageBIOS::write().

Referenced by unusedHead(), unusedPop(), and unusedPush().

◆ unusedHead()

storeError SuperBlockPage::unusedHead ( OStorePageBIOS const &  rBIOS,
PageData rPageHead 
)

◆ unusedPop()

storeError SuperBlockPage::unusedPop ( OStorePageBIOS const &  rBIOS,
PageData const &  rPageHead 
)

Pop freelist head (alloc page, step 2).

Definition at line 242 of file storbios.cxx.

References store::OStorePageLink::location(), m_aSuperOne, store::PageData::m_aUnused, save(), store_E_CantSeek, and STORE_PAGE_NULL.

◆ unusedPush()

storeError SuperBlockPage::unusedPush ( OStorePageBIOS const &  rBIOS,
sal_uInt32  nAddr 
)

◆ verify()

storeError SuperBlockPage::verify ( OStorePageBIOS const &  rBIOS)

Verify (with repair).

Definition at line 288 of file storbios.cxx.

References store::OStorePageBIOS::isWriteable(), m_aSuperOne, m_aSuperTwo, SAL_WARN, store_E_None, theSize, and store::OStorePageBIOS::write().

Referenced by unusedHead(), and unusedPush().

Member Data Documentation

◆ m_aSuperOne

SuperBlock store::SuperBlockPage::m_aSuperOne

Definition at line 138 of file storbios.cxx.

Referenced by save(), unusedHead(), unusedPop(), unusedPush(), and verify().

◆ m_aSuperTwo

SuperBlock store::SuperBlockPage::m_aSuperTwo

Definition at line 139 of file storbios.cxx.

Referenced by save(), and verify().

◆ thePageSize

const sal_uInt16 store::SuperBlockPage::thePageSize = theSize
static

Definition at line 142 of file storbios.cxx.

◆ theSize

const size_t store::SuperBlockPage::theSize = 2 * SuperBlock::theSize
static

Definition at line 141 of file storbios.cxx.

Referenced by store::OStorePageBIOS::initialize_Impl(), and verify().


The documentation for this struct was generated from the following file: