Free Electron
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
fe::SegmentStore Class Reference

Memory manager for state blocks. More...

#include <SegmentStore.h>

Inheritance diagram for fe::SegmentStore:
Inheritance graph
[legend]

Public Member Functions

virtual void * createSB (void)
 Create a state block. More...
 
virtual void * createSB (FE_UWORD count)
 Create an array of state blocks. More...
 
virtual hp< LayoutSB > & getLayout (void)
 Get the layout for this StoreI. More...
 
virtual void setLayout (sp< LayoutSB > &rspLayout)
 Set the layout for this StoreI. More...
 
virtual FE_UWORD skipSizeSB (void)
 Get the size of a state block created by this StoreI. More...
 
const String verboseName (void) const
 Get the long name of this Store. More...
 
- Public Member Functions inherited from fe::Component
const Stringname (void) const
 Return the components chosen name. More...
 
const String verboseName (void) const
 Return the annotated chosen name. More...
 
void setName (const String &name)
 Rename the component to anything you want. More...
 
hp< Registryregistry (void) const
 Get the Registry that created this component. More...
 
void adjoin (sp< Component > spComponent)
 Tie this component's lifetime to another. More...
 
sp< Componentcreate (const String &implementation, BWORD quiet=FALSE) const
 Convienience function to registry()->create() More...
 
void disjoin (void)
 Untie component from Hub, if connected. More...
 
void setLibrary (sp< Library > spLibrary)
 Store a reference to the library used to instantiate this component. More...
 
sp< Librarylibrary (void)
 Get the library that created the component. More...
 
void setSingleton (BWORD set)
 Specify whether component is a singleton. More...
 
BWORD isSingleton (void)
 Return whether component is a singleton. More...
 
virtual void acquire (void)
 Specialized reference increment. More...
 
virtual void release (void)
 Specialized reference decrement. More...
 
- Public Member Functions inherited from fe::Handled< Component >
const hp< Component > & getHandle (void) const
 Get a safe handle to this object. More...
 
- Public Member Functions inherited from fe::Protectable
virtual I32 protection (void) const
 
virtual void protect (void)
 
virtual void unprotect (void)
 
virtual Protectableclone (Protectable *pInstance=NULL)
 
- Public Member Functions inherited from fe::Counted
virtual void acquire (int &rCount)
 Increment the reference count (and get the count) More...
 
virtual void abandon (void)
 Decrement the reference count. More...
 
int count (void) const
 Return the count of references. More...
 
void setName (const String &)
 
void trackReference (void *pReference, String what)
 
void untrackReference (void *pReference)
 
void registerRegion (void *pT, U32 bytes)
 
- Public Member Functions inherited from fe::Initialized
void initializeAll (void)
 
void setActive (bool a_active)
 

Private Member Functions

virtual void acquireSB (void *stateBlock)
 Acquire a state block. More...
 
virtual void releaseSB (const RecordSB &r_old)
 Release a state block. More...
 
virtual void freeSB (void *stateBlock)
 Free the state block. More...
 
void initSB (void *stateBlock)
 
void clear (void)
 
void * stateBlockOf (U32 index, void *pSegment)
 
FE_UWORD stateBlockBytes (void)
 
FE_UWORD segmentBytes (U32 count)
 
bool queryRC (void *sb, I32 *&pCount)
 

Private Attributes

hp< LayoutSBm_hpLayout
 
Segment * m_pSegment
 
FreeHeader * m_pFreeList
 
TypeInfo m_i32TypeInfo
 
FE_UWORD m_i32Index
 
FE_UWORD m_cntIndex
 

Friends

class LayoutSB
 

Additional Inherited Members

- Static Public Member Functions inherited from fe::Counted
static String reportTracker (void)
 
static U32 trackerCount (void)
 
- Protected Types inherited from fe::Initialized
typedef void(* InitializeFunction) (Initialized *)
 
- Protected Member Functions inherited from fe::Handled< Component >
void abandonHandle (void)
 
- Protected Member Functions inherited from fe::Counted
int releaseInternal (void)
 Decrement the reference count. More...
 
void suppressReport (void)
 
- Protected Member Functions inherited from fe::Initialized
void addInitializer (InitializeFunction function)
 

Detailed Description

Memory manager for state blocks.

direct accessors
:CT
:CT
:CT

Member Function Documentation

◆ acquireSB()

void fe::SegmentStore::acquireSB ( void *  stateBlock)
privatevirtual

Acquire a state block.

Implements fe::StoreI.

◆ createSB() [1/2]

void * fe::SegmentStore::createSB ( void  )
virtual

Create a state block.

Implements fe::StoreI.

◆ createSB() [2/2]

void * fe::SegmentStore::createSB ( FE_UWORD  count)
virtual

Create an array of state blocks.

Implements fe::StoreI.

References fe::Counted::count().

◆ freeSB()

void fe::SegmentStore::freeSB ( void *  stateBlock)
privatevirtual

Free the state block.

Use only on non-reference counted data blocks.

Implements fe::StoreI.

◆ getLayout()

hp< LayoutSB > & fe::SegmentStore::getLayout ( void  )
virtual

Get the layout for this StoreI.

Implements fe::StoreI.

◆ releaseSB()

void fe::SegmentStore::releaseSB ( const RecordSB r_old)
privatevirtual

Release a state block.

Implements fe::StoreI.

References fe::RecordSB::data().

◆ setLayout()

void fe::SegmentStore::setLayout ( sp< LayoutSB > &  rspLayout)
virtual

Set the layout for this StoreI.

Implements fe::StoreI.

◆ skipSizeSB()

FE_UWORD fe::SegmentStore::skipSizeSB ( void  )
virtual

Get the size of a state block created by this StoreI.

Implements fe::StoreI.

◆ verboseName()

const String fe::SegmentStore::verboseName ( void  ) const
inline

Get the long name of this Store.


The documentation for this class was generated from the following files: