author | dwmw2 <dwmw2> | 2002-04-02 16:51:01 (UTC) |
---|---|---|
committer | dwmw2 <dwmw2> | 2002-04-02 16:51:01 (UTC) |
commit | ac91ca1bd03f14eef87711efcddddae0e6475b44 (patch) (side-by-side diff) | |
tree | 7357bc0302c4dc91120a125816391753990a2790 | |
parent | 42e978133012df5c8e7a367e565ea1454f9beb9b (diff) | |
download | opie-ac91ca1bd03f14eef87711efcddddae0e6475b44.zip opie-ac91ca1bd03f14eef87711efcddddae0e6475b44.tar.gz opie-ac91ca1bd03f14eef87711efcddddae0e6475b44.tar.bz2 |
Remove all deletions of 'port' and 'me'. It's got a silly pointless automatic
ref-counting thingy. Gsmlib _really_ needs rewriting without the gratuitous bloat.
-rw-r--r-- | noncore/unsupported/gsmtool/gsmtool.cpp | 18 | ||||
-rw-r--r-- | noncore/unsupported/gsmtool/gsmtool.h | 1 |
2 files changed, 7 insertions, 12 deletions
diff --git a/noncore/unsupported/gsmtool/gsmtool.cpp b/noncore/unsupported/gsmtool/gsmtool.cpp index 14ef368..38c8c59 100644 --- a/noncore/unsupported/gsmtool/gsmtool.cpp +++ b/noncore/unsupported/gsmtool/gsmtool.cpp @@ -1,73 +1,72 @@ #include "gsmtool.h" #include <qpushbutton.h> #include <qcombobox.h> #include <qlineedit.h> #include <qlabel.h> #include <qtabwidget.h> #include <termios.h> #include <gsmlib/gsm_me_ta.h> #include <gsmlib/gsm_unix_serial.h> using namespace gsmlib; /* * Constructs a GSMTool which is a child of 'parent', with the * name 'name' and widget flags set to 'f' */ GSMTool::GSMTool( QWidget* parent, const char* name, WFlags fl ) : GSMToolBase( parent, name, fl ) { devicelocked = 0; me = NULL; - port = NULL; setConnected(FALSE); /* FIXME: Persistent settings for device/baudrate */ connect(ConnectButton, SIGNAL(clicked()), this, SLOT(doConnectButton())); connect(ScanButton, SIGNAL(clicked()), this, SLOT(doScanButton())); connect(TabWidget2, SIGNAL(currentChanged(QWidget *)), this, SLOT(doTabChanged())); timerid = -1; // Is this not possible normally? } /* * Destroys the object and frees any allocated resources */ GSMTool::~GSMTool() { // no need to delete child widgets, Qt does it all for us if (devicelocked) unlockDevice(); } const speed_t GSMTool::baudrates[12] = { B300, B600, B1200, B2400, B4800, B9600, B19200, B38400, B57600, B115200, B230400, B460800 }; int GSMTool::lockDevice( ) { devicelocked = 1; /* FIXME */ return 0; } void GSMTool::unlockDevice( ) { devicelocked = 0; } void GSMTool::setConnected( bool conn ) { TabWidget2->setTabEnabled(tab_2, conn); TabWidget2->setTabEnabled(tab_3, conn); MfrLabel->setEnabled(conn); MfrText->setEnabled(conn); ModelLabel->setEnabled(conn); ModelText->setEnabled(conn); RevisionLabel->setEnabled(conn); RevisionText->setEnabled(conn); SerialLabel->setEnabled(conn); SerialText->setEnabled(conn); } @@ -93,116 +92,113 @@ void GSMTool::timerEvent( QTimerEvent * ) if (opi._numericName == NOT_SET) { NetStatText->setText("No network"); NetworkLabel->setEnabled(FALSE); NetworkText->setEnabled(FALSE); NetworkText->setText(""); SigStrText->setEnabled(FALSE); SigStrText->setText(""); dB->setEnabled(FALSE); SigStrLabel->setEnabled(FALSE); } else { // FIXME: Add 'roaming' info from AT+CFUN qDebug("network"); NetStatText->setText("Registered"); NetworkLabel->setEnabled(TRUE); NetworkText->setEnabled(TRUE); NetworkText->setText(opi._longName.c_str()); SigStrText->setEnabled(TRUE); qDebug("get sig str"); int csq = me->getSignalStrength(); if (csq == 0) { SigStrText->setText("<= -113"); dB->setEnabled(TRUE); SigStrLabel->setEnabled(TRUE); } else if (csq == 99) { SigStrText->setText("Unknown"); dB->setEnabled(FALSE); SigStrLabel->setEnabled(FALSE); } else { char buf[6]; sprintf(buf, "%d", -113 + (2*csq)); SigStrText->setText(buf); dB->setEnabled(TRUE); SigStrLabel->setEnabled(TRUE); } } } void GSMTool::doScanButton() { qDebug("ScanButton"); } /* * A simple slot... not very interesting. */ void GSMTool::doConnectButton() { + gsmlib::Port *port; + speed_t rate; devicename = strdup(DeviceName->currentText().local8Bit().data()); rate = baudrates[BaudRate->currentItem()]; qDebug("Connect Button Pressed"); MfrText->setText("Opening..."); ModelText->setText(""); RevisionText->setText(""); SerialText->setText(""); setConnected(FALSE); if (me) { - // delete me; me = NULL; } - if (port) { - // delete port; - port = NULL; - } if (lockDevice()) { qDebug("lockDevice() failed\n"); + MfrText->setText("Lock port failed"); }; qDebug("Device name is %s\n", devicename); try { port = new UnixSerialPort(devicename, rate, DEFAULT_INIT_STRING, 0); } catch (GsmException) { qDebug("port failed"); + MfrText->setText("Open port failed"); return; } MfrText->setText("Initialising..."); qDebug("got port"); try { me = new MeTa(port); } catch (GsmException) { qDebug("meta failed"); - delete port; - port = NULL; + MfrText->setText("Initialise GSM unit failed"); + me = NULL; unlockDevice(); return; } qDebug("Opened"); MEInfo ifo; MfrText->setText("Querying..."); try { ifo = me->getMEInfo(); } catch (GsmException) { qDebug("getMEInfo failed"); - delete me; + MfrText->setText("Query GSM unit failed"); me = NULL; - delete port; - port = NULL; unlockDevice(); return; } MfrText->setText(ifo._manufacturer.c_str()); ModelText->setText(ifo._model.c_str()); RevisionText->setText(ifo._revision.c_str()); SerialText->setText(ifo._serialNumber.c_str()); setConnected(TRUE); } diff --git a/noncore/unsupported/gsmtool/gsmtool.h b/noncore/unsupported/gsmtool/gsmtool.h index cb19f54..1625cb1 100644 --- a/noncore/unsupported/gsmtool/gsmtool.h +++ b/noncore/unsupported/gsmtool/gsmtool.h @@ -1,41 +1,40 @@ #ifndef EXAMPLE_H #define EXAMPLE_H #include "gsmtoolbase.h" #include <termios.h> #include <gsmlib/gsm_me_ta.h> class GSMTool : public GSMToolBase { Q_OBJECT public: GSMTool( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); ~GSMTool(); protected: void timerEvent(QTimerEvent *te ); private slots: void doConnectButton(); void doScanButton(); void doTabChanged(); private: static const speed_t baudrates[]; int devicelocked; int timerid; gsmlib::MeTa *me; - gsmlib::Port *port; char *devicename; speed_t baudrate; int lockDevice( ); void unlockDevice( ); void setConnected( bool conn ); }; #endif // EXAMPLE_H |