diff options
author | Wohlstand <admin@wohlnet.ru> | 2024-05-11 04:40:33 +0300 |
---|---|---|
committer | Wohlstand <admin@wohlnet.ru> | 2024-05-11 04:40:33 +0300 |
commit | 2309ed8575f2267fc5ee250377982ae07364e40b (patch) | |
tree | 2752e95e72b13a25adce1624bf1c7b86c11a9ff7 /src | |
parent | 40af837e64145b97e9e2e6392e593dc685433efa (diff) | |
download | libADLMIDI-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.h | 11 | ||||
-rw-r--r-- | src/chips/opl_serial_port.cpp | 2 | ||||
-rw-r--r-- | src/chips/opl_serial_port.h | 4 |
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; }; |