aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorWohlstand <admin@wohlnet.ru>2024-05-11 04:40:33 +0300
committerWohlstand <admin@wohlnet.ru>2024-05-11 04:40:33 +0300
commit2309ed8575f2267fc5ee250377982ae07364e40b (patch)
tree2752e95e72b13a25adce1624bf1c7b86c11a9ff7 /src
parent40af837e64145b97e9e2e6392e593dc685433efa (diff)
downloadlibADLMIDI-2309ed8575f2267fc5ee250377982ae07364e40b.tar.gz
libADLMIDI-2309ed8575f2267fc5ee250377982ae07364e40b.tar.bz2
libADLMIDI-2309ed8575f2267fc5ee250377982ae07364e40b.zip
opl_serial_port: Fixed the polymorphism
Diffstat (limited to 'src')
-rw-r--r--src/chips/opl_serial_misc.h11
-rw-r--r--src/chips/opl_serial_port.cpp2
-rw-r--r--src/chips/opl_serial_port.h4
3 files changed, 9 insertions, 8 deletions
diff --git a/src/chips/opl_serial_misc.h b/src/chips/opl_serial_misc.h
index 84711c3..6972a1e 100644
--- a/src/chips/opl_serial_misc.h
+++ b/src/chips/opl_serial_misc.h
@@ -43,19 +43,19 @@ public:
ChipSerialPortBase() {}
virtual ~ChipSerialPortBase() {}
- bool isOpen()
+ virtual bool isOpen()
{
return false;
}
- void close() {}
+ virtual void close() {}
- bool open(const std::string &/*portName*/, unsigned /*baudRate*/)
+ virtual bool open(const std::string &/*portName*/, unsigned /*baudRate*/)
{
return false;
}
- int write(uint8_t */*data*/, size_t /*size*/)
+ virtual int write(uint8_t * /*data*/, size_t /*size*/)
{
return 0;
}
@@ -112,7 +112,8 @@ class ChipSerialPort : public ChipSerialPortBase
}
public:
- ChipSerialPort() : ChipSerialPortBase()
+ ChipSerialPort() :
+ ChipSerialPortBase()
{
m_port = 0;
std::memset(&m_portSetup, 0, sizeof(struct termios));
diff --git a/src/chips/opl_serial_port.cpp b/src/chips/opl_serial_port.cpp
index 0d2e58d..1607d8c 100644
--- a/src/chips/opl_serial_port.cpp
+++ b/src/chips/opl_serial_port.cpp
@@ -97,7 +97,7 @@ bool OPL_SerialPort::connectPort(const std::string& name, unsigned baudRate, uns
void OPL_SerialPort::writeReg(uint16_t addr, uint8_t data)
{
uint8_t sendBuffer[16];
- ChipSerialPort *port = m_port;
+ ChipSerialPortBase *port = m_port;
if(!port || !port->isOpen())
return;
diff --git a/src/chips/opl_serial_port.h b/src/chips/opl_serial_port.h
index ec7bc39..346c68e 100644
--- a/src/chips/opl_serial_port.h
+++ b/src/chips/opl_serial_port.h
@@ -27,7 +27,7 @@
#include <string>
#include "opl_chip_base.h"
-class ChipSerialPort;
+class ChipSerialPortBase;
class OPL_SerialPort : public OPLChipBaseT<OPL_SerialPort>
{
@@ -56,7 +56,7 @@ public:
ChipType chipType() override;
private:
- ChipSerialPort *m_port;
+ ChipSerialPortBase *m_port;
int m_protocol;
};