openMSX
ide
IDEHD.hh
Go to the documentation of this file.
1
#ifndef IDEHD_HH
2
#define IDEHD_HH
3
4
#include "
HD.hh
"
5
#include "
AbstractIDEDevice.hh
"
6
7
namespace
openmsx
{
8
9
class
DeviceConfig;
10
class
DiskManipulator;
11
12
class
IDEHD
final :
public
HD
,
public
AbstractIDEDevice
13
{
14
public
:
15
explicit
IDEHD
(
const
DeviceConfig
& config);
16
IDEHD
(
const
IDEHD
&) =
delete
;
17
IDEHD
(
IDEHD
&&) =
delete
;
18
IDEHD
&
operator=
(
const
IDEHD
&) =
delete
;
19
IDEHD
&
operator=
(
IDEHD
&&) =
delete
;
20
~IDEHD
()
override
;
21
22
template
<
typename
Archive>
23
void
serialize
(Archive& ar,
unsigned
version);
24
25
private
:
26
// AbstractIDEDevice:
27
[[nodiscard]]
bool
isPacketDevice()
override
;
28
[[nodiscard]] std::string_view getDeviceName()
override
;
29
void
fillIdentifyBlock (
AlignedBuffer
& buffer)
override
;
30
[[nodiscard]]
unsigned
readBlockStart(
AlignedBuffer
& buffer,
unsigned
count)
override
;
31
void
writeBlockComplete(
AlignedBuffer
& buffer,
unsigned
count)
override
;
32
void
executeCommand(
byte
cmd)
override
;
33
34
private
:
35
DiskManipulator
& diskManipulator;
36
unsigned
transferSectorNumber = 0;
// avoid UMR in serialize()
37
};
38
39
}
// namespace openmsx
40
41
#endif
AbstractIDEDevice.hh
HD.hh
openmsx::AbstractIDEDevice
Definition
AbstractIDEDevice.hh:14
openmsx::AlignedBuffer
Definition
AlignedBuffer.hh:31
openmsx::DeviceConfig
Definition
DeviceConfig.hh:21
openmsx::DiskManipulator
Definition
DiskManipulator.hh:23
openmsx::HD
Definition
HD.hh:22
openmsx::IDEHD
Definition
IDEHD.hh:13
openmsx::IDEHD::operator=
IDEHD & operator=(const IDEHD &)=delete
openmsx::IDEHD::~IDEHD
~IDEHD() override
Definition
IDEHD.cc:25
openmsx::IDEHD::serialize
void serialize(Archive &ar, unsigned version)
Definition
IDEHD.cc:134
openmsx::IDEHD::operator=
IDEHD & operator=(IDEHD &&)=delete
openmsx::IDEHD::IDEHD
IDEHD(const IDEHD &)=delete
openmsx::IDEHD::IDEHD
IDEHD(IDEHD &&)=delete
openmsx
This file implemented 3 utility functions:
Definition
Autofire.cc:11
Generated on Thu Apr 25 2024 22:14:33 for openMSX by
1.9.8