The Pedigree Project 0.1
Classes | Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
FatDirectory::NamespaceEdit Class Reference
+ Collaboration diagram for FatDirectory::NamespaceEdit:

Classes

struct  Contents
 
struct  Portion
 
struct  Slot
 

Public Member Functions

 NamespaceEdit (FatFilesystem *filesystem)
 
bool load (FatDirectory *directory, Contents &contents)
 
bool locate (Contents &contents, const String &name, File *file, size_t &index)
 
void erase (Contents &contents, size_t index)
 
bool insert (Contents &contents, const String &name, const Dir &metadata, Slot &result)
 
bool updateParent (Contents &contents, uint32_t oldParent, uint32_t newParent)
 
bool commit (const Contents *destination=nullptr)
 

Private Member Functions

Portionread (uint32_t cluster)
 
void append (Contents &contents, Portion *portion)
 
bool grow (Contents &contents)
 
bool uniqueShortName (const Contents &contents, Vector< Dir > &entries)
 

Static Private Member Functions

static bool fail ()
 
static uint8_t nameChecksum (const uint8_t *name)
 

Private Attributes

FatFilesystemm_Filesystem
 
Vector< Portion * > m_Portions
 

Detailed Description

Definition at line 7 of file FatFilesystem-namespace.cc.

Constructor & Destructor Documentation

◆ NamespaceEdit()

FatDirectory::NamespaceEdit::NamespaceEdit ( FatFilesystem filesystem)
inlineexplicit

Definition at line 28 of file FatFilesystem-namespace.cc.

◆ ~NamespaceEdit()

FatDirectory::NamespaceEdit::~NamespaceEdit ( )
inline

Definition at line 29 of file FatFilesystem-namespace.cc.

Member Function Documentation

◆ append()

void FatDirectory::NamespaceEdit::append ( Contents contents,
Portion portion 
)
inlineprivate

Definition at line 245 of file FatFilesystem-namespace.cc.

◆ commit()

bool FatDirectory::NamespaceEdit::commit ( const Contents destination = nullptr)
inline

Definition at line 175 of file FatFilesystem-namespace.cc.

◆ erase()

void FatDirectory::NamespaceEdit::erase ( Contents contents,
size_t  index 
)
inline

Definition at line 111 of file FatFilesystem-namespace.cc.

◆ fail()

static bool FatDirectory::NamespaceEdit::fail ( )
inlinestaticprivate

Definition at line 212 of file FatFilesystem-namespace.cc.

◆ grow()

bool FatDirectory::NamespaceEdit::grow ( Contents contents)
inlineprivate

Definition at line 250 of file FatFilesystem-namespace.cc.

◆ insert()

bool FatDirectory::NamespaceEdit::insert ( Contents contents,
const String name,
const Dir metadata,
Slot result 
)
inline

Definition at line 129 of file FatFilesystem-namespace.cc.

◆ load()

bool FatDirectory::NamespaceEdit::load ( FatDirectory directory,
Contents contents 
)
inline

Definition at line 37 of file FatFilesystem-namespace.cc.

◆ locate()

bool FatDirectory::NamespaceEdit::locate ( Contents contents,
const String name,
File file,
size_t &  index 
)
inline

Definition at line 62 of file FatFilesystem-namespace.cc.

◆ nameChecksum()

static uint8_t FatDirectory::NamespaceEdit::nameChecksum ( const uint8_t *  name)
inlinestaticprivate

Definition at line 216 of file FatFilesystem-namespace.cc.

◆ read()

Portion * FatDirectory::NamespaceEdit::read ( uint32_t  cluster)
inlineprivate

Definition at line 222 of file FatFilesystem-namespace.cc.

◆ uniqueShortName()

bool FatDirectory::NamespaceEdit::uniqueShortName ( const Contents contents,
Vector< Dir > &  entries 
)
inlineprivate

Definition at line 284 of file FatFilesystem-namespace.cc.

◆ updateParent()

bool FatDirectory::NamespaceEdit::updateParent ( Contents contents,
uint32_t  oldParent,
uint32_t  newParent 
)
inline

Definition at line 157 of file FatFilesystem-namespace.cc.

Member Data Documentation

◆ m_Filesystem

FatFilesystem* FatDirectory::NamespaceEdit::m_Filesystem
private

Definition at line 325 of file FatFilesystem-namespace.cc.

◆ m_Portions

Vector<Portion*> FatDirectory::NamespaceEdit::m_Portions
private

Definition at line 326 of file FatFilesystem-namespace.cc.


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