1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- using System;
- using System.Collections.Generic;
- using System.Text;
- using Utilities;
- namespace DiskAccessLibrary
- {
- public abstract class Partition : Volume
- {
- private DiskExtent m_extent;
- public Partition(DiskExtent extent)
- {
- m_extent = extent;
- }
- public Partition(Disk disk, long firstSector, long size)
- {
- m_extent = new DiskExtent(disk, firstSector, size);
- }
- public override byte[] ReadSectors(long sectorIndex, int sectorCount)
- {
- return m_extent.ReadSectors(sectorIndex, sectorCount);
- }
- public override void WriteSectors(long sectorIndex, byte[] data)
- {
- m_extent.WriteSectors(sectorIndex, data);
- }
- public override int BytesPerSector
- {
- get
- {
- return m_extent.BytesPerSector;
- }
- }
- public override long Size
- {
- get
- {
- return m_extent.Size;
- }
- }
- public override List<DiskExtent> Extents
- {
- get
- {
- List<DiskExtent> result = new List<DiskExtent>();
- result.Add(m_extent);
- return result;
- }
- }
- public Disk Disk
- {
- get
- {
- return m_extent.Disk;
- }
- }
- public long FirstSector
- {
- get
- {
- return m_extent.FirstSector;
- }
- }
- }
- }
|