summaryrefslogtreecommitdiff
path: root/noncore/apps/opie-console/dialer.cpp
authorjosef <josef>2002-10-20 09:48:21 (UTC)
committer josef <josef>2002-10-20 09:48:21 (UTC)
commit940ba90ed4375f79b6a4934d290abf83980b77ad (patch) (unidiff)
treec455e88ce9fe99ef79048e3f228b7f4551652537 /noncore/apps/opie-console/dialer.cpp
parente2694c5aedb3697a373e363cebe72cddb3114a8f (diff)
downloadopie-940ba90ed4375f79b6a4934d290abf83980b77ad.zip
opie-940ba90ed4375f79b6a4934d290abf83980b77ad.tar.gz
opie-940ba90ed4375f79b6a4934d290abf83980b77ad.tar.bz2
Please review!
- change modem default commands because we don't interpret ~ and friends (minicom does AFAIK) - disable unused AT settings for now - when cancelling dialing, and we didn't yet get a single byte from the modem, don't hangup
Diffstat (limited to 'noncore/apps/opie-console/dialer.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-console/dialer.cpp37
1 files changed, 21 insertions, 16 deletions
diff --git a/noncore/apps/opie-console/dialer.cpp b/noncore/apps/opie-console/dialer.cpp
index 51d4093..d37e406 100644
--- a/noncore/apps/opie-console/dialer.cpp
+++ b/noncore/apps/opie-console/dialer.cpp
@@ -59,4 +59,5 @@ Dialer::Dialer(const Profile& profile, int fd, QWidget *parent, const char *name
59 59
60 usercancel = 0; 60 usercancel = 0;
61 cleanshutdown = 0;
61 62
62 fcntl(m_fd, F_SETFL, O_NONBLOCK); 63 fcntl(m_fd, F_SETFL, O_NONBLOCK);
@@ -134,17 +135,17 @@ void Dialer::dial(const QString& number)
134void Dialer::trydial(const QString& number) 135void Dialer::trydial(const QString& number)
135{ 136{
136 //if(state != state_cancel) 137 if(state != state_cancel) switchState(state_preinit);
137 //{ 138 if(cleanshutdown)
138 if(state != state_cancel) switchState(state_preinit); 139 {
139 send("+++ATH"); 140 send(m_profile.readEntry("HangupString"));
141 //send("+++ATH");
140 send(""); 142 send("");
141 //QString response = receive(); 143 }
142 //}
143 144
144 if(state != state_cancel) 145 if(state != state_cancel)
145 { 146 {
146 switchState(state_init); 147 switchState(state_init);
147 send("ATZ"); 148 //send("ATZ");
148 //send(m_profile.readEntry("InitString")); 149 send(m_profile.readEntry("InitString"));
149 QString response2 = receive(); 150 QString response2 = receive();
150 if(!response2.contains("\nOK\r")) 151 if(!response2.contains("\nOK\r"))
@@ -176,8 +177,8 @@ void Dialer::trydial(const QString& number)
176 switchState(state_dialing); 177 switchState(state_dialing);
177 178
178 send(QString("ATDT %1").arg(number)); 179 //send(QString("ATDT %1").arg(number));
179 //send(QString("%1 %2").arg(m_profile.readEntry("DialPrefix1")).arg(number)); 180 send(QString("%1 %2").arg(m_profile.readEntry("DialPrefix1")).arg(number));
180 QString response5 = receive(); 181 QString response5 = receive();
181 if(!response5.contains("\nCONNECT")) 182 if(!response5.contains("\n" + m_profile.readEntry("DefaultConnect")))
182 { 183 {
183 if(response5.contains("BUSY")) 184 if(response5.contains("BUSY"))
@@ -205,5 +206,5 @@ void Dialer::send(const QString& msg)
205 QString termination; 206 QString termination;
206 207
207qWarning("Sending: '%s'", m.latin1()); 208 //qWarning("Sending: '%s'", m.latin1());
208 209
209 termination = "\r"; 210 termination = "\r";
@@ -236,11 +237,12 @@ QString Dialer::receive()
236 buffer[i] = buffer[i] & 0x7F; 237 buffer[i] = buffer[i] & 0x7F;
237 buffer[ret] = 0; 238 buffer[ret] = 0;
238qWarning("Got: '%s'", buffer); 239 //qWarning("Got: '%s'", buffer);
239 buf.append(QString(buffer)); 240 buf.append(QString(buffer));
240 if(buf.contains("OK") || buf.contains("ERROR") || buf.contains("CONNECT") || (buf.contains("BUSY"))) 241 if(buf.contains("OK") || buf.contains("ERROR") || buf.contains("CONNECT") || (buf.contains("BUSY")))
241{ 242 {
242qWarning("Receiving: '%s'", buf.latin1()); 243 //qWarning("Receiving: '%s'", buf.latin1());
244 cleanshutdown = 1;
243 return buf; 245 return buf;
244} 246 }
245 } 247 }
246 else if(ret < 0) 248 else if(ret < 0)
@@ -250,6 +252,9 @@ qWarning("Receiving: '%s'", buf.latin1());
250 } 252 }
251 else if(!(counter++ % 100)) qApp->processEvents(); 253 else if(!(counter++ % 100)) qApp->processEvents();
254
255 if(usercancel) return QString::null;
252 } 256 }
253 257
258 cleanshutdown = 1;
254 return QString::null; 259 return QString::null;
255} 260}