TVirtualDiskImage

From Ultibo.org
Jump to: navigation, search

Return to Unit VirtualDisk


Description


To be documented

Class definitions



TVirtualDiskImage = class(TDiskImage)

constructor Create(ADriver:TFileSysDriver; AController:TDiskController; const AName:String; AImageNo:Integer);  
destructor Destroy; override;  
private
 
protected
FFlags:LongWord;  
 
FExtents:TFileSysList; List of Virtual Disk Extents
 
FBase:TVirtualDiskExtent; The first extent of the image
FCurrent:TVirtualDiskExtent; The current delta extent if applicable
 
function GetCylinders:LongWord; override;  
function GetHeads:LongWord; override;  
function GetSectors:LongWord; override;  
 
function ReadExtent(AExtent:TVirtualDiskExtent; ASector:LongWord; ACount:Word; var ABuffer):Word; virtual;  
function WriteExtent(AExtent:TVirtualDiskExtent; ASector:LongWord; ACount:Word; const ABuffer):Word; virtual;  
 
function LoadExtents:Boolean; virtual;  
function CloseExtents:Boolean; virtual;  
 
function CheckExtent(ADelta,AParent:TVirtualDiskExtent; const AFilename:String):Boolean; virtual;  
function LoadExtent(ADelta,AParent:TVirtualDiskExtent; const AFilename:String):TVirtualDiskExtent; virtual;  
 
function AddExtent(AParent:TVirtualDiskExtent; const AFilename:String):TVirtualDiskExtent; virtual;  
function RemoveExtent(AExtent:TVirtualDiskExtent):Boolean; virtual;  
 
function SetExtent(AExtent:TVirtualDiskExtent):Boolean; virtual;  
function GetExtent(const ASector:Int64; AWrite,ALock:Boolean):TVirtualDiskExtent; virtual;  
 
function FindExtent(const AFilename:String; ALock:Boolean):TVirtualDiskExtent; virtual;  
 
function LoadTables:Boolean; virtual;  
 
function LoadTable(AExtent:TVirtualDiskExtent; ATableNo:LongWord):TVirtualDiskTable; virtual;  
 
function AddTable(AExtent:TVirtualDiskExtent):TVirtualDiskTable; virtual;  
function RemoveTable(ATable:TVirtualDiskTable):Boolean; virtual;  
 
function SetTable(ATable:TVirtualDiskTable):Boolean; virtual;  
function GetTable(AExtent:TVirtualDiskExtent; const ASector:Int64; AWrite:Boolean):TVirtualDiskTable; virtual;  
 
function LoadBlocks(ATable:TVirtualDiskTable):Boolean; virtual;  
 
function LoadBlock(ATable:TVirtualDiskTable; ABlockNo:LongWord):TVirtualDiskBlock; virtual;  
 
function AddBlock(ATable:TVirtualDiskTable):TVirtualDiskBlock; virtual;  
function RemoveBlock(ABlock:TVirtualDiskBlock):Boolean; virtual;  
 
function SetBlock(ABlock:TVirtualDiskBlock):Boolean; virtual;  
function GetBlock(ATable:TVirtualDiskTable; const ASector:Int64; AWrite:Boolean):TVirtualDiskBlock; virtual;  
 
function LocateDelta(AExtent:TVirtualDiskExtent):String; virtual;  
function LocateParent(AExtent:TVirtualDiskExtent):String; virtual;  
function LocateSibling(AExtent:TVirtualDiskExtent):String; virtual;  
public
property Flags:LongWord read FFlags write FFlags;  
 
property Extents:TFileSysList read FExtents;  
 
property Base:TVirtualDiskExtent read FBase;  
property Current:TVirtualDiskExtent read FCurrent;  
 
function IsSplit:Boolean; virtual;  


Function declarations



constructor TVirtualDiskImage.Create(ADriver:TFileSysDriver; AController:TDiskController; const AName:String; AImageNo:Integer);
Description: To be documented
Note None documented


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


function TVirtualDiskImage.GetCylinders:LongWord;
Description: To be documented
Note None documented


function TVirtualDiskImage.GetHeads:LongWord;
Description: To be documented
Note None documented


function TVirtualDiskImage.GetSectors:LongWord;
Description: To be documented
Note None documented


function TVirtualDiskImage.ReadExtent(AExtent:TVirtualDiskExtent; ASector:LongWord;ACount:Word; var ABuffer):Word;
Description: To be documented
Note Virtual Base Method


function TVirtualDiskImage.WriteExtent(AExtent:TVirtualDiskExtent; ASector:LongWord; ACount:Word; const ABuffer):Word;
Description: To be documented
Note Virtual Base Method


function TVirtualDiskImage.LoadExtents:Boolean;
Description: To be documented
Note Virtual Base Method


function TVirtualDiskImage.CloseExtents:Boolean;
Description: To be documented
Note None documented


function TVirtualDiskImage.CheckExtent(ADelta,AParent:TVirtualDiskExtent; const AFilename:String):Boolean;
Description: To be documented
Note Virtual Base Method


function TVirtualDiskImage.LoadExtent(ADelta,AParent:TVirtualDiskExtent; const AFilename:String):TVirtualDiskExtent;
Description: To be documented
Note Virtual Base Method


function TVirtualDiskImage.AddExtent(AParent:TVirtualDiskExtent; const AFilename:String):TVirtualDiskExtent;
Description: To be documented
Note Virtual Base Method


function TVirtualDiskImage.RemoveExtent(AExtent:TVirtualDiskExtent):Boolean;
Description: To be documented
Note Virtual Base Method


function TVirtualDiskImage.SetExtent(AExtent:TVirtualDiskExtent):Boolean;
Description: To be documented
Note Virtual Base Method


function TVirtualDiskImage.GetExtent(const ASector:Int64; AWrite,ALock:Boolean):TVirtualDiskExtent;
Description: To be documented
Note Virtual Base Method


function TVirtualDiskImage.FindExtent(const AFilename:String; ALock:Boolean):TVirtualDiskExtent;
Description: To be documented
Note None documented


function TVirtualDiskImage.LoadTables:Boolean;
Description: To be documented
Note Virtual Base Method


function TVirtualDiskImage.LoadTable(AExtent:TVirtualDiskExtent; ATableNo:LongWord):TVirtualDiskTable;
Description: To be documented
Note Virtual Base Method


function TVirtualDiskImage.AddTable(AExtent:TVirtualDiskExtent):TVirtualDiskTable;
Description: To be documented
Note Virtual Base Method


function TVirtualDiskImage.RemoveTable(ATable:TVirtualDiskTable):Boolean;
Description: To be documented
Note Virtual Base Method


function TVirtualDiskImage.SetTable(ATable:TVirtualDiskTable):Boolean;
Description: To be documented
Note Virtual Base Method


function TVirtualDiskImage.GetTable(AExtent:TVirtualDiskExtent; const ASector:Int64; AWrite:Boolean):TVirtualDiskTable;
Description: To be documented
Note Virtual Base Method


function TVirtualDiskImage.LoadBlocks(ATable:TVirtualDiskTable):Boolean;
Description: To be documented
Note Virtual Base Method


function TVirtualDiskImage.LoadBlock(ATable:TVirtualDiskTable; ABlockNo:LongWord):TVirtualDiskBlock;
Description: To be documented
Note Virtual Base Method


function TVirtualDiskImage.AddBlock(ATable:TVirtualDiskTable):TVirtualDiskBlock;
Description: To be documented
Note Virtual Base Method


function TVirtualDiskImage.RemoveBlock(ABlock:TVirtualDiskBlock):Boolean;
Description: To be documented
Note Virtual Base Method


function TVirtualDiskImage.SetBlock(ABlock:TVirtualDiskBlock):Boolean;
Description: To be documented
Note Virtual Base Method


function TVirtualDiskImage.GetBlock(ATable:TVirtualDiskTable; const ASector:Int64; AWrite:Boolean):TVirtualDiskBlock;
Description: To be documented
Note Virtual Base Method


function TVirtualDiskImage.LocateDelta(AExtent:TVirtualDiskExtent):String;
Description: To be documented
Note Virtual Base Method


function TVirtualDiskImage.LocateParent(AExtent:TVirtualDiskExtent):String;
Description: To be documented
Note Virtual Base Method


function TVirtualDiskImage.LocateSibling(AExtent:TVirtualDiskExtent):String;
Description: To be documented
Note Virtual Base Method


function TVirtualDiskImage.IsSplit:Boolean;
Description: To be documented
Note None documented


Return to Unit Reference