00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef CONEXUSSERIAL_H
00020 #define CONEXUSSERIAL_H
00021
00022 #include <conexus/filedescriptor.h>
00023
00031 namespace Conexus
00032 {
00033
00042 class Serial : public FileDescriptor
00043 {
00044 protected:
00045
00046 Serial( const std::string& device = std::string(), long unsigned mode = SERIAL_READ | SERIAL_WRITE );
00047
00048 public:
00049
00050 typedef ConexusPointer<Serial> pointer;
00051
00052 static Serial::pointer create( const std::string& device = std::string(), long unsigned mode = SERIAL_READ | SERIAL_WRITE );
00053
00054 virtual ~Serial();
00055
00059 virtual void open( const std::string name, long unsigned mode = SERIAL_UNCHANGED ) throw ( open_exception );
00060
00065 virtual void open() throw ( open_exception );
00066
00067 long unsigned mode();
00068
00072 std::string device();
00073
00086 void set_device( const std::string& d, long unsigned mode = SERIAL_UNCHANGED ) throw ( open_exception );
00087
00088 sigc::signal<void> signal_device_changed();
00089
00090 protected:
00091 std::string m_device;
00092 long unsigned m_mode;
00093
00094 sigc::signal<void> m_signal_device_changed;
00095 };
00096
00097 }
00098
00099 #endif