openMSX
RS232Connector.hh
Go to the documentation of this file.
1 #ifndef RS232CONNECTOR_HH
2 #define RS232CONNECTOR_HH
3 
4 #include "Connector.hh"
5 #include "SerialDataInterface.hh"
6 #include "serialize_meta.hh"
7 
8 namespace openmsx {
9 
10 class RS232Device;
11 
13 {
14 public:
15  RS232Connector(PluggingController& pluggingController,
16  string_ref name);
17  virtual ~RS232Connector();
18 
20 
21  // Connector
22  virtual const std::string getDescription() const;
23  virtual string_ref getClass() const;
24 
25  // input (SerialDataInterface)
26  virtual void setDataBits(DataBits bits) = 0;
27  virtual void setStopBits(StopBits bits) = 0;
28  virtual void setParityBit(bool enable, ParityBit parity) = 0;
29  virtual void recvByte(byte value, EmuTime::param time) = 0;
30  virtual bool ready() = 0;
31  virtual bool acceptsData() = 0;
32 
33  template<typename Archive>
34  void serialize(Archive& ar, unsigned version);
35 };
36 
37 REGISTER_BASE_CLASS(RS232Connector, "rs232connector");
38 
39 } // namespace openmsx
40 
41 #endif