Diffstat (limited to 'noncore/apps/opie-console/io_serial.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/apps/opie-console/io_serial.cpp | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/noncore/apps/opie-console/io_serial.cpp b/noncore/apps/opie-console/io_serial.cpp index 845f4be..4129d64 100644 --- a/noncore/apps/opie-console/io_serial.cpp +++ b/noncore/apps/opie-console/io_serial.cpp | |||
@@ -24,12 +24,13 @@ void IOSerial::send(const QByteArray &data) { | |||
24 | } else { | 24 | } else { |
25 | emit error(Refuse, tr("Not connected")); | 25 | emit error(Refuse, tr("Not connected")); |
26 | } | 26 | } |
27 | } | 27 | } |
28 | 28 | ||
29 | void IOSerial::close() { | 29 | void IOSerial::close() { |
30 | qWarning("closing!"); | ||
30 | if (m_fd) { | 31 | if (m_fd) { |
31 | delete m_read; | 32 | delete m_read; |
32 | delete m_error; | 33 | delete m_error; |
33 | ::close(m_fd); | 34 | ::close(m_fd); |
34 | m_fd = 0; | 35 | m_fd = 0; |
35 | } else { | 36 | } else { |
@@ -114,13 +115,13 @@ bool IOSerial::open() { | |||
114 | m_read = new QSocketNotifier(m_fd, QSocketNotifier::Read, this); | 115 | m_read = new QSocketNotifier(m_fd, QSocketNotifier::Read, this); |
115 | m_error = new QSocketNotifier(m_fd, QSocketNotifier::Exception, this); | 116 | m_error = new QSocketNotifier(m_fd, QSocketNotifier::Exception, this); |
116 | connect(m_read, SIGNAL(activated(int)), this, SLOT(dataArrived())); | 117 | connect(m_read, SIGNAL(activated(int)), this, SLOT(dataArrived())); |
117 | connect(m_error, SIGNAL(activated(int)), this, SLOT(errorOccured())); | 118 | connect(m_error, SIGNAL(activated(int)), this, SLOT(errorOccured())); |
118 | return TRUE; | 119 | return TRUE; |
119 | } else { | 120 | } else { |
120 | qWarning("opened"); | 121 | qWarning(" already opened"); |
121 | emit error(Refuse, tr("Device is already connected")); | 122 | emit error(Refuse, tr("Device is already connected")); |
122 | m_fd = 0; | 123 | m_fd = 0; |
123 | return FALSE; | 124 | return FALSE; |
124 | } | 125 | } |
125 | } | 126 | } |
126 | 127 | ||
@@ -173,10 +174,23 @@ QString IOSerial::identifier() const { | |||
173 | } | 174 | } |
174 | 175 | ||
175 | QString IOSerial::name() const { | 176 | QString IOSerial::name() const { |
176 | return "RS232 Serial IO Layer"; | 177 | return "RS232 Serial IO Layer"; |
177 | } | 178 | } |
178 | int IOSerial::rawIO()const { | 179 | int IOSerial::rawIO()const { |
180 | if (m_read ) | ||
181 | disconnect(m_read, SIGNAL(activated(int)), this, SLOT(dataArrived())); | ||
182 | if (m_error ) | ||
183 | disconnect(m_error, SIGNAL(activated(int)), this, SLOT(errorOccured())); | ||
184 | |||
179 | int fd = ::open(m_device, O_RDWR ); | 185 | int fd = ::open(m_device, O_RDWR ); |
180 | 186 | ||
181 | return fd; | 187 | return fd; |
182 | }; | 188 | }; |
189 | void IOSerial::closeRawIO(int fd) { | ||
190 | if (m_read ) | ||
191 | connect(m_read, SIGNAL(activated(int)), this, SLOT(dataArrived())); | ||
192 | if (m_error ) | ||
193 | connect(m_error, SIGNAL(activated(int)), this, SLOT(errorOccured())); | ||
194 | |||
195 | ::close( fd ); | ||
196 | } | ||