summaryrefslogtreecommitdiff
authorerik <erik>2007-02-08 01:43:09 (UTC)
committer erik <erik>2007-02-08 01:43:09 (UTC)
commit853b61f97e718359bef95147ab3c7beb0705acda (patch) (side-by-side diff)
tree7b374511f636951a2ab9ff0f9fec7ec2d64abd2a
parentc36a2e25a8875a31957968482ba8a0831a8b0aba (diff)
downloadopie-853b61f97e718359bef95147ab3c7beb0705acda.zip
opie-853b61f97e718359bef95147ab3c7beb0705acda.tar.gz
opie-853b61f97e718359bef95147ab3c7beb0705acda.tar.bz2
This commit adds support for the HTC Universal bluetooth device to
bluezapplet. This commit is based on a patch submitted by GoXbox Live <goxboxlive at gmail dot com> to the opie-devel mailing list. Thanks GoXbox Live!
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/opietooth/applet/bluezapplet.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/noncore/net/opietooth/applet/bluezapplet.cpp b/noncore/net/opietooth/applet/bluezapplet.cpp
index 8498afc..787abc6 100644
--- a/noncore/net/opietooth/applet/bluezapplet.cpp
+++ b/noncore/net/opietooth/applet/bluezapplet.cpp
@@ -77,128 +77,132 @@ namespace OpieTooth {
bluezactive = false;
bluezDiscoveryActive = false;
bluezReceiveActive = false;
bluezReceiveChanged = false;
doListDevice = false;
isScanning = false;
m_wasOn = false;
m_sync = false;
// TODO: determine whether this channel has to be closed at destruction time.
QCopChannel* chan = new QCopChannel("QPE/Bluetooth", this );
connect(chan, SIGNAL(received(const QCString&,const QByteArray&) ),
this, SLOT(slotMessage(const QCString&,const QByteArray&) ) );
::system("/etc/init.d/bluetooth stop >/dev/null 2>/dev/null");
}
BluezApplet::~BluezApplet() {
if ( btDevice ) {
::system("/etc/init.d/bluetooth stop >/dev/null 2>/dev/null");
delete btDevice;
}
if ( btManager ) {
delete btManager;
}
}
int BluezApplet::position()
{
return 6;
}
bool BluezApplet::checkBluezStatus() {
if (btDevice) {
if (btDevice->isLoaded() ) {
odebug << "btDevice isLoaded" << oendl;
return true;
} else {
odebug << "btDevice is NOT loaded" << oendl;
return false;
}
} else {
odebug << "btDevice is ZERO" << oendl;
return false;
}
}
int BluezApplet::setBluezStatus(int c, bool sync) {
if ( c == 1 ) {
switch ( ODevice::inst()->model() ) {
case Model_iPAQ_H39xx:
btDevice = new Device( "/dev/tts/1", "bcsp", "921600" );
break;
case Model_iPAQ_H5xxx:
btDevice = new Device( "/dev/tts/1", "any", "921600" );
break;
#if OPIE_VERSION >= 102010
case Model_MyPal_716:
btDevice = new Device( "/dev/ttyS1", "bcsp", "921600" );
break;
#endif
+ case Model_HTC_Universal:
+ btDevice = new Device( "/dev/ttyS1", "texas", "115200" );
+ break;
+
case Model_iPAQ_H22xx:
btDevice = new Device( "/dev/tts/3", "any", "921600" );
break;
default:
btDevice = new Device( "/dev/ttySB0", "bcsp", "230400" );
break;
}
m_sync = sync;
connect(btDevice, SIGNAL(device(const QString&, bool)),
this, SLOT(slotDevice(const QString&, bool)));
} else {
setObexRecieveStatus(0);
::system("/etc/init.d/bluetooth stop >/dev/null 2>/dev/null");
if ( btManager ) {
delete btManager;
btManager = 0;
}
if ( btDevice ) {
delete btDevice;
btDevice = 0;
}
}
return 0;
}
int BluezApplet::checkBluezDiscoveryStatus() {
return isScanning;
}
int BluezApplet::setBluezDiscoveryStatus(int d) {
return bluezDiscoveryActive = d;
}
int BluezApplet::setObexRecieveStatus(int d) {
{
QCopEnvelope e ( "QPE/Obex", "btreceive(int)" );
e << ( d ? 1 : 0 );
}
bluezReceiveActive = (bool)(d != 0);
bluezReceiveChanged = true;
return d;
}
// FIXME mbhaynie
// receiver for QCopChannel("QPE/Bluetooth") messages.
void BluezApplet::slotMessage( const QCString& str, const QByteArray& )
{
if ( str == "enableBluetooth()") {
m_wasOn = checkBluezStatus();
if (!m_wasOn) {
setBluezStatus(1, true);
sleep(2);
}
}
else if ( str == "disableBluetooth()") {
/*
* We can down BT only if it was started by qcop. We don't want
* to down BT started from menu an break our networking connection
*/
if (checkBluezStatus() && !m_wasOn)
setBluezStatus(0);
doListDevice = false;