summaryrefslogtreecommitdiff
authordwmw2 <dwmw2>2002-04-02 16:51:01 (UTC)
committer dwmw2 <dwmw2>2002-04-02 16:51:01 (UTC)
commitac91ca1bd03f14eef87711efcddddae0e6475b44 (patch) (side-by-side diff)
tree7357bc0302c4dc91120a125816391753990a2790
parent42e978133012df5c8e7a367e565ea1454f9beb9b (diff)
downloadopie-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.
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/unsupported/gsmtool/gsmtool.cpp18
-rw-r--r--noncore/unsupported/gsmtool/gsmtool.h1
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