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/rwfiledescriptor.h>
00023
00028 namespace Conexus
00029 {
00030
00039 class Serial : public RWFileDescriptor
00040 {
00041 public:
00042 typedef boost::shared_ptr<Serial> pointer;
00043
00044 Serial(const std::string& device=std::string(), unsigned long readwrite=READ|WRITE);
00045
00046 static Serial::pointer create(const std::string& device=std::string(), unsigned long readwrite=READ|WRITE);
00047
00048 virtual ~Serial();
00049
00053 virtual void open(const std::string name, int state=READ|WRITE) throw (open_error);
00054
00059 virtual void open() throw (open_error);
00060
00064 std::string device();
00065
00078 void set_device(const std::string& d, long unsigned state=READ|WRITE) throw (open_error);
00079
00080 sigc::signal<void> signal_device_changed();
00081
00082 virtual void start(ReadWrite rw=Conexus::READ, bool use_dispatcher=false);
00083
00084 virtual const std::string& object_type() { static std::string s("Conexus::Serial"); return s; }
00085
00086 protected:
00087 std::string m_device;
00088
00089 sigc::signal<void> m_signal_device_changed;
00090 };
00091
00092 }
00093
00094 #endif