openMSX
DiskPartition.hh
Go to the documentation of this file.
1 #ifndef DISKPARTITION_HH
2 #define DISKPARTITION_HH
3 
4 #include "SectorBasedDisk.hh"
5 #include <memory>
6 
7 namespace openmsx {
8 
9 class DiskPartition final : public SectorBasedDisk
10 {
11 public:
22  std::shared_ptr<SectorAccessibleDisk> owned = nullptr);
23 
25  size_t start, size_t length);
26 
27 private:
28  void readSectorImpl (size_t sector, SectorBuffer& buf) override;
29  void writeSectorImpl(size_t sector, const SectorBuffer& buf) override;
30  [[nodiscard]] bool isWriteProtectedImpl() const override;
31 
32 private:
33  SectorAccessibleDisk& parent;
34  std::shared_ptr<SectorAccessibleDisk> owned;
35  size_t start;
36 };
37 
38 } // namespace openmsx
39 
40 #endif
openmsx::SectorAccessibleDisk
Definition: SectorAccessibleDisk.hh:16
openmsx::SectorBuffer
Definition: DiskImageUtils.hh:90
openmsx::DiskPartition
Definition: DiskPartition.hh:10
gl::length
T length(const vecN< N, T > &x)
Definition: gl_vec.hh:348
SectorBasedDisk.hh
openmsx::SectorBasedDisk
Abstract class for disk images that only represent the logical sector information (so not the raw tra...
Definition: SectorBasedDisk.hh:14
openmsx::DiskPartition::DiskPartition
DiskPartition(SectorAccessibleDisk &disk, unsigned partition, std::shared_ptr< SectorAccessibleDisk > owned=nullptr)
Return a partition (as a SectorbasedDisk) from another Disk.
Definition: DiskPartition.cc:21
openmsx::DiskImageUtils::partition
void partition(SectorAccessibleDisk &disk, const std::vector< unsigned > &sizes)
Write a partition table to the given disk and format each partition.
Definition: DiskImageUtils.cc:234
openmsx
This file implemented 3 utility functions:
Definition: Autofire.cc:5