summaryrefslogtreecommitdiff
path: root/noncore/settings/networksettings/ppp/modem.cpp
Side-by-side diff
Diffstat (limited to 'noncore/settings/networksettings/ppp/modem.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/networksettings/ppp/modem.cpp45
1 files changed, 22 insertions, 23 deletions
diff --git a/noncore/settings/networksettings/ppp/modem.cpp b/noncore/settings/networksettings/ppp/modem.cpp
index 5139482..002c8e7 100644
--- a/noncore/settings/networksettings/ppp/modem.cpp
+++ b/noncore/settings/networksettings/ppp/modem.cpp
@@ -62,7 +62,7 @@
static sigjmp_buf jmp_buffer;
-Modem *Modem::modem = 0;
+//Modem *Modem::modem = 0;
const char* pppdPath() {
@@ -91,9 +91,9 @@ const char* pppdPath() {
}
-Modem::Modem()
+Modem::Modem( PPPData* pd )
{
- if (Modem::modem != 0) return; //CORRECT?
+ _pppdata = pd;
modemfd = -1;
_pppdExitStatus = -1;
pppdPid = -1;
@@ -102,12 +102,11 @@ Modem::Modem()
modem_is_locked = false;
lockfile[0] = '\0';
device = "/dev/modem";
- modem = this;
}
-Modem::~Modem() {
- modem = 0;
+Modem::~Modem()
+{
}
@@ -115,7 +114,7 @@ speed_t Modem::modemspeed() {
// convert the string modem speed int the gpppdata object to a t_speed type
// to set the modem. The constants here should all be ifdef'd because
// other systems may not have them
- int i = PPPData::data()->speed().toInt()/100;
+ int i = _pppdata->speed().toInt()/100;
switch(i) {
case 24:
@@ -165,7 +164,7 @@ bool Modem::opentty() {
//begin if((modemfd = Requester::rq->openModem(gpppdata.modemDevice()))<0) {
close(modemfd);
- device = PPPData::data()->modemDevice();
+ device = _pppdata->modemDevice();
if ((modemfd = open(device, O_RDWR|O_NDELAY|O_NOCTTY)) == -1) {
qDebug("error opening modem device !");
errmsg = i18n("Unable to open modem.");
@@ -175,7 +174,7 @@ bool Modem::opentty() {
//}
#if 0
- if(PPPData::data()->UseCDLine()) {
+ if(_pppdata->UseCDLine()) {
if(ioctl(modemfd, TIOCMGET, &flags) == -1) {
errmsg = i18n("Unable to detect state of CD line.");
::close(modemfd);
@@ -223,8 +222,8 @@ bool Modem::opentty() {
tty.c_lflag &= ~(ECHO|ECHOE|ECHOK|ECHOKE);
- if(PPPData::data()->flowcontrol() != "None") {
- if(PPPData::data()->flowcontrol() == "CRTSCTS") {
+ if(_pppdata->flowcontrol() != "None") {
+ if(_pppdata->flowcontrol() == "CRTSCTS") {
tty.c_cflag |= CRTSCTS;
}
else {
@@ -353,7 +352,7 @@ bool Modem::writeLine(const char *buf) {
char *b = new char[len+2];
memcpy(b, buf, len);
// different modems seem to need different line terminations
- QString term = PPPData::data()->enter();
+ QString term = _pppdata->enter();
if(term == "LF")
b[len++]='\n';
else if(term == "CR")
@@ -393,9 +392,9 @@ bool Modem::hangup() {
if (data_mode) escape_to_command_mode();
// Then hangup command
- writeLine(PPPData::data()->modemHangupStr().local8Bit());
+ writeLine(_pppdata->modemHangupStr().local8Bit());
- usleep(PPPData::data()->modemInitDelay() * 10000); // 0.01 - 3.0 sec
+ usleep(_pppdata->modemInitDelay() * 10000); // 0.01 - 3.0 sec
#ifndef DEBUG_WO_DIALING
if (sigsetjmp(jmp_buffer, 1) == 0) {
@@ -431,7 +430,7 @@ bool Modem::hangup() {
ioctl(modemfd, TIOCMSET, &modemstat);
#endif
- usleep(PPPData::data()->modemInitDelay() * 10000); // 0.01 - 3.0 secs
+ usleep(_pppdata->modemInitDelay() * 10000); // 0.01 - 3.0 secs
cfsetospeed(&temptty, modemspeed());
cfsetispeed(&temptty, modemspeed());
@@ -454,11 +453,11 @@ void Modem::escape_to_command_mode() {
tcflush(modemfd, TCIOFLUSH);
// +3 because quiet time must be greater than guard time.
- usleep((PPPData::data()->modemEscapeGuardTime()+3)*20000);
- QCString tmp = PPPData::data()->modemEscapeStr().local8Bit();
+ usleep((_pppdata->modemEscapeGuardTime()+3)*20000);
+ QCString tmp = _pppdata->modemEscapeStr().local8Bit();
write(modemfd, tmp.data(), tmp.length());
tcflush(modemfd, TCIOFLUSH);
- usleep((PPPData::data()->modemEscapeGuardTime()+3)*20000);
+ usleep((_pppdata->modemEscapeGuardTime()+3)*20000);
data_mode = false;
}
@@ -574,7 +573,7 @@ int Modem::lockdevice() {
int fd;
char newlock[80]=""; // safe
- if(!PPPData::data()->modemLockFile()) {
+ if(!_pppdata->modemLockFile()) {
qDebug("The user doesn't want a lockfile.");
return 0;
}
@@ -583,7 +582,7 @@ int Modem::lockdevice() {
return 1;
QString lockfile = LOCK_DIR"/LCK..";
- lockfile += PPPData::data()->modemDevice().mid(5); // append everything after /dev/
+ lockfile += _pppdata->modemDevice().mid(5); // append everything after /dev/
if(access(QFile::encodeName(lockfile), F_OK) == 0) {
// if ((fd = Requester::rq->
@@ -614,7 +613,7 @@ if ((fd = openLockfile(QFile::encodeName(lockfile), O_RDONLY)) >= 0) {
}
}
- fd = openLockfile(PPPData::data()->modemDevice(),O_WRONLY|O_TRUNC|O_CREAT);
+ fd = openLockfile(_pppdata->modemDevice(),O_WRONLY|O_TRUNC|O_CREAT);
if(fd >= 0) {
sprintf(newlock,"%010d\n", getpid());
qDebug("Locking Device: %s", newlock);
@@ -988,7 +987,7 @@ void Modem::parseargs(char* buf, char** args) {
bool Modem::execPPPDaemon(const QString & arguments)
{
if(execpppd(arguments)==0) {
- PPPData::data()->setpppdRunning(true);
+ _pppdata->setpppdRunning(true);
return true;
} else
return false;
@@ -996,7 +995,7 @@ bool Modem::execPPPDaemon(const QString & arguments)
void Modem::killPPPDaemon()
{
- PPPData::data()->setpppdRunning(false);
+ _pppdata->setpppdRunning(false);
killpppd();
}