TRecognizer

From Ultibo.org
Jump to: navigation, search

Return to Unit Filesystem


Description


To be documented

Class definitions



TRecognizer = class(TListObject)

constructor Create(ADriver:TFileSysDriver);  
destructor Destroy; override;  
private
FLock:TSynchronizerHandle;  
FLocalLock:TMutexHandle;  
protected
FDriver:TFileSysDriver;  
 
FAllowDrive:Boolean; Enable mounting with an attached Drive
FAllowDefault:Boolean; Enable mounting of unrecognized media (Unpartitioned Media Only)
 
FDirtyCheck:Boolean; Enable checking Volume when dirty flag set on mount
FQuickCheck:Boolean; Enable quick check only when checking dirty Volume
 
FPartitioner:TDiskPartitioner;  
FFormatter:TDiskFormatter;  
FDefragger:TDiskDefragger;  
FConverter:TDiskConverter;  
FRepairer:TDiskRepairer;  
FResizer:TDiskResizer;  
FCopier:TDiskCopier;  
FImager:TDiskImager;  
 
function AcquireLock:Boolean;  
function ReleaseLock:Boolean;  
 
function GetName:String; virtual;  
public
property Name:String read GetName;  
 
property AllowDrive:Boolean read FAllowDrive write FAllowDrive;  
property AllowDefault:Boolean read FAllowDefault write FAllowDefault;  
 
property DirtyCheck:Boolean read FDirtyCheck write FDirtyCheck;  
property QuickCheck:Boolean read FQuickCheck write FQuickCheck;  
 
property Partitioner:TDiskPartitioner read FPartitioner write FPartitioner;  
property Formatter:TDiskFormatter read FFormatter write FFormatter;  
property Defragger:TDiskDefragger read FDefragger write FDefragger;  
property Converter:TDiskConverter read FConverter write FConverter;  
property Repairer:TDiskRepairer read FRepairer write FRepairer;  
property Resizer:TDiskResizer read FResizer write FResizer;  
property Copier:TDiskCopier read FCopier write FCopier;  
property Imager:TDiskImager read FImager write FImager;  
 
function ReaderLock:Boolean;  
function ReaderUnlock:Boolean;  
function ReaderConvert:Boolean;  
function WriterLock:Boolean;  
function WriterUnlock:Boolean;  
function WriterConvert:Boolean;  
 
function RecognizePartitionId(APartitionId:Byte):Boolean; virtual;  
function RecognizeBootSector(ABootSector:PBootSector; const AStartSector,ASectorCount:Int64):Boolean; virtual;  
 
function RecognizePartition(APartition:TDiskPartition):Boolean; virtual;  
function RecognizeVolume(AVolume:TDiskVolume):Boolean; virtual;  
function MountVolume(AVolume:TDiskVolume; ADrive:TDiskDrive):Boolean; virtual;  
function DismountVolume(AVolume:TDiskVolume):Boolean; virtual;  
 
function RecognizeImage(AImage:TDiskImage):Boolean; virtual;  
function MountImage(AImage:TDiskImage):Boolean; virtual;  
function DismountImage(AImage:TDiskImage):Boolean; virtual;  
function InsertImage(AImage:TDiskImage):Boolean; virtual;  
function EjectImage(AImage:TDiskImage):Boolean; virtual;  


Function declarations



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


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


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


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


function TRecognizer.GetName:String;
Description: To be documented
Note None documented


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


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


function TRecognizer.ReaderConvert:Boolean;
Description: Convert a Reader lock to a Writer lock
Note None documented


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


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


function TRecognizer.WriterConvert:Boolean;
Description: Convert a Writer lock to a Reader lock
Note None documented


function TRecognizer.RecognizePartitionId(APartitionId:Byte):Boolean;
Description: To be documented
Note None documented


function TRecognizer.RecognizeBootSector(ABootSector:PBootSector; const AStartSector,ASectorCount:Int64):Boolean;
Description: To be documented
Note None documented


function TRecognizer.RecognizePartition(APartition:TDiskPartition):Boolean;
Description: To be documented
Note Caller must hold the partition lock


function TRecognizer.RecognizeVolume(AVolume:TDiskVolume):Boolean;
Description: To be documented
Note Caller must hold the volume lock


function TRecognizer.MountVolume(AVolume:TDiskVolume; ADrive:TDiskDrive):Boolean;
Description: To be documented
Note Caller must hold the volume and drive locks


function TRecognizer.DismountVolume(AVolume:TDiskVolume):Boolean;
Description: To be documented
Note Dismount does not free the Volume only the FileSystem and Drive(s)

Caller must hold the volume writer lock


function TRecognizer.RecognizeImage(AImage:TDiskImage):Boolean;
Description: To be documented
Note Caller must hold the image lock


function TRecognizer.MountImage(AImage:TDiskImage):Boolean;
Description: To be documented
Note Caller must hold the image lock


function TRecognizer.DismountImage(AImage:TDiskImage):Boolean;
Description: To be documented
Note Dismount closes the Image and frees Device, Partitions, Volumes, Drives.

Caller must hold the image lock


function TRecognizer.InsertImage(AImage:TDiskImage):Boolean;
Description: To be documented
Note Caller must hold the image lock


function TRecognizer.EjectImage(AImage:TDiskImage):Boolean;
Description: To be documented
Note Eject closes the Image but does not free Device, Partitions, Volumes, Drives.

Caller must hold the image writer lock


Return to Unit Reference