TDiskFormatter

From Ultibo.org
Jump to: navigation, search

Return to Unit Filesystem


Description


To be documented

Class definitions



TDiskFormatter = class(TObject)

constructor Create(ADriver:TFileSysDriver; ARecognizer:TRecognizer);  
destructor Destroy; override;  
private
FLock:TSynchronizerHandle;  
FLocalLock:TMutexHandle;  
protected
FDriver:TFileSysDriver;  
FRecognizer:TRecognizer;  
 
function AcquireLock:Boolean;  
function ReleaseLock:Boolean;  
 
function FillSectors(AVolume:TDiskVolume; ADrive:TDiskDrive; ASector,ACount:LongWord; AValue:Byte):Boolean;  
function ReadSectors(AVolume:TDiskVolume; ADrive:TDiskDrive; ASector,ACount:LongWord; var ABuffer):Boolean;  
function WriteSectors(AVolume:TDiskVolume; ADrive:TDiskDrive; ASector,ACount:LongWord; const ABuffer):Boolean;  
public
function ReaderLock:Boolean;  
function ReaderUnlock:Boolean;  
function WriterLock:Boolean;  
function WriterUnlock:Boolean;  
 
function AcceptVolume(AVolume:TDiskVolume; AFloppyType:TFloppyType; AFileSysType:TFileSysType):Boolean; virtual;  
 
function FormatVolume(AVolume:TDiskVolume; AFloppyType:TFloppyType; AFileSysType:TFileSysType):Boolean; virtual;  


Function declarations



constructor TDiskFormatter.Create(ADriver:TFileSysDriver; ARecognizer:TRecognizer);
Description: To be documented
Note None documented


destructor TDiskFormatter.Destroy;
Description: To be documented
Note None documented


function TDiskFormatter.AcquireLock:Boolean;
Description: To be documented
Note None documented


function TDiskFormatter.ReleaseLock:Boolean;
Description: To be documented
Note None documented


function TDiskFormatter.FillSectors(AVolume:TDiskVolume; ADrive:TDiskDrive; ASector,ACount:LongWord; AValue:Byte):Boolean;
Description: Fill specified number of sectors with the supplied value
Sector Sector is relative to the StartSector of the Volume


function TDiskFormatter.ReadSectors(AVolume:TDiskVolume; ADrive:TDiskDrive; ASector,ACount:LongWord; var ABuffer):Boolean;
Description: Read Sectors from the Volume using Cache
Sector Sector is relative to the StartSector of the Volume
Note Caller must hold the volume and drive lock, cache will serialize access to device.


function TDiskFormatter.WriteSectors(AVolume:TDiskVolume; ADrive:TDiskDrive; ASector,ACount:LongWord; const ABuffer):Boolean;
Description: Write Sectors to the Volume using Cache
Sector Sector is relative to the StartSector of the Volume
Note Caller must hold the volume and drive lock, cache will serialize access to device.


function TDiskFormatter.ReaderLock:Boolean;
Description: To be documented
Note None documented


function TDiskFormatter.ReaderUnlock:Boolean;
Description: To be documented
Note None documented


function TDiskFormatter.WriterLock:Boolean;
Description: To be documented
Note None documented


function TDiskFormatter.WriterUnlock:Boolean;
Description: To be documented
Note None documented


function TDiskFormatter.AcceptVolume(AVolume:TDiskVolume; AFloppyType:TFloppyType; AFileSysType:TFileSysType):Boolean;
Description: Check if the Volume can be accepted for Format
Note Caller must hold the volume lock


function TDiskFormatter.FormatVolume(AVolume:TDiskVolume; AFloppyType:TFloppyType; AFileSysType:TFileSysType):Boolean;
Description: Format the specified Volume
Note Caller must hold the volume writer lock


Return to Unit Reference