]> git.tdb.fi Git - libs/core.git/blobdiff - source/io/serial.h
Use size_t to represent sizes
[libs/core.git] / source / io / serial.h
index 98b16674b464d098f7c051e72b5837c68d1fa797..1e93f10879d2659756a2e33824e68eeb9aa870ab 100644 (file)
@@ -2,6 +2,7 @@
 #define MSP_IO_SERIAL_H_
 
 #include "eventobject.h"
+#include "eventreader.h"
 #include "handle.h"
 
 namespace Msp {
@@ -18,10 +19,16 @@ public:
        };
 
 private:
+       struct DeviceState;
+
        Handle handle;
+       EventReader reader;
 
 public:
        Serial(const std::string &);
+private:
+       void platform_init(const std::string &);
+public:
        virtual ~Serial();
 
 private:
@@ -29,6 +36,7 @@ private:
 
 public:
        virtual void set_block(bool);
+       virtual void set_inherit(bool);
 
        void set_baud_rate(unsigned);
        void set_data_bits(unsigned);
@@ -37,11 +45,12 @@ public:
        void set_parameters(const std::string &);
 
 private:
-       virtual unsigned do_write(const char *, unsigned);
-       virtual unsigned do_read(char *, unsigned);
+       virtual std::size_t do_write(const char *, std::size_t);
+       virtual std::size_t do_read(char *, std::size_t);
 
 public:
-       virtual const Handle &get_event_handle();
+       virtual const Handle &get_handle(Mode);
+       virtual const Handle &get_event_handle() { return reader.get_event(); }
 };
 
 } // namespace IO