-rw-r--r-- | noncore/apps/opie-console/dialer.cpp | 22 | ||||
-rw-r--r-- | noncore/apps/opie-console/io_modem.cpp | 10 | ||||
-rw-r--r-- | noncore/apps/opie-console/io_serial.cpp | 7 |
3 files changed, 28 insertions, 11 deletions
diff --git a/noncore/apps/opie-console/dialer.cpp b/noncore/apps/opie-console/dialer.cpp index ce2b688..8524422 100644 --- a/noncore/apps/opie-console/dialer.cpp +++ b/noncore/apps/opie-console/dialer.cpp @@ -90,4 +90,5 @@ void Dialer::setHangupOnly() state = state_cancel; usercancel = 1; + send("+++ATH\r"); } @@ -99,5 +100,7 @@ void Dialer::slotCancel() reset(); } - else accept(); + else { + accept(); + } } @@ -141,7 +144,7 @@ void Dialer::trydial(const QString& number) { qWarning("HangupString " + m_profile.readEntry("HangupString")); - send(m_profile.readEntry("HangupString")); - //send("+++ATH"); - send(""); + //send(m_profile.readEntry("HangupString")); + send("+++ATH\r"); + //send(""); } @@ -188,5 +191,5 @@ void Dialer::trydial(const QString& number) // send(QString("%1 %2").arg(m_profile.readEntry("DialPrefix1")).arg(number)); QString response5 = receive(); - if(!response5.contains("\n" + m_profile.readEntry("DefaultConnect"))) + if(!response5.contains("CONNECT") ) { if(response5.contains("BUSY")) @@ -202,7 +205,9 @@ void Dialer::trydial(const QString& number) } + if(state != state_cancel) { - switchState(state_online); + state = state_online; + slotCancel(); } } @@ -247,5 +252,5 @@ QString Dialer::receive() buffer[i] = buffer[i] & 0x7F; buffer[ret] = 0; - //qWarning("Got: '%s'", buffer); + qWarning("Got: %s", buffer); buf.append(QString(buffer)); if(buf.contains("OK") || buf.contains("ERROR") || buf.contains("CONNECT") || (buf.contains("BUSY"))) @@ -254,4 +259,7 @@ QString Dialer::receive() cleanshutdown = 1; return buf; + }else if (buf.contains("NO CARRIER") || buf.contains("NO DIALTONE") ) { + cleanshutdown = 1; + return QString::null; } } diff --git a/noncore/apps/opie-console/io_modem.cpp b/noncore/apps/opie-console/io_modem.cpp index b7901b9..896c24f 100644 --- a/noncore/apps/opie-console/io_modem.cpp +++ b/noncore/apps/opie-console/io_modem.cpp @@ -17,9 +17,11 @@ IOModem::~IOModem() { void IOModem::close() { // Hangup, discarding result - int fd = rawIO(); - Dialer d(m_profile, fd); +// int fd = rawIO(); + internDetach(); + Dialer d(m_profile, m_fd); d.setHangupOnly(); - d.exec(); - closeRawIO(fd); + //d.exec(); + internAttach(); +// closeRawIO(fd); IOSerial::close(); diff --git a/noncore/apps/opie-console/io_serial.cpp b/noncore/apps/opie-console/io_serial.cpp index 0540d9e..03e92dd 100644 --- a/noncore/apps/opie-console/io_serial.cpp +++ b/noncore/apps/opie-console/io_serial.cpp @@ -4,4 +4,6 @@ #include <errno.h> #include <unistd.h> +#include <stdio.h> + #include "io_serial.h" @@ -165,4 +167,9 @@ void IOSerial::dataArrived() { if (len < 0) return; + qWarning("got from layer"); + for (int i = 0; i < len; i++ ) { + printf("%c", array[i] ); + } + printf("\n"); array.resize( len ); emit received(array); |