]> git.tdb.fi Git - libs/core.git/blobdiff - source/io/serial.h
Mark overridden virtual functions as such
[libs/core.git] / source / io / serial.h
index 069789c85097a69e8510d347ca43a02630009a2a..a07cd1fd43e404b3a0e82e603abff93388bd1cc0 100644 (file)
@@ -1,12 +1,14 @@
 #ifndef MSP_IO_SERIAL_H_
 #define MSP_IO_SERIAL_H_
 
-#include "base.h"
+#include "eventobject.h"
+#include "eventreader.h"
+#include "handle.h"
 
 namespace Msp {
 namespace IO {
 
-class Serial: public Base
+class Serial: public EventObject
 {
 public:
        enum Parity
@@ -17,17 +19,24 @@ public:
        };
 
 private:
+       struct DeviceState;
+
        Handle handle;
+       EventReader reader;
 
 public:
        Serial(const std::string &);
-       virtual ~Serial();
+private:
+       void platform_init(const std::string &);
+public:
+       ~Serial() override;
 
 private:
        void close();
 
 public:
-       virtual void set_block(bool);
+       void set_block(bool) override;
+       void set_inherit(bool) override;
 
        void set_baud_rate(unsigned);
        void set_data_bits(unsigned);
@@ -36,11 +45,12 @@ public:
        void set_parameters(const std::string &);
 
 private:
-       virtual unsigned do_write(const char *, unsigned);
-       virtual unsigned do_read(char *, unsigned);
+       std::size_t do_write(const char *, std::size_t) override;
+       std::size_t do_read(char *, std::size_t) override;
 
 public:
-       virtual Handle get_event_handle();
+       const Handle &get_handle(Mode) override;
+       const Handle &get_event_handle() override { return reader.get_event(); }
 };
 
 } // namespace IO