summaryrefslogtreecommitdiff
path: root/noncore/net
authorkorovkin <korovkin>2006-05-14 15:38:20 (UTC)
committer korovkin <korovkin>2006-05-14 15:38:20 (UTC)
commit782a34192c2c879a80fd319153a2b2f48ded1c99 (patch) (side-by-side diff)
tree55f9d66e747876ffa2e87cf30eaafaf33864597a /noncore/net
parent273ffc42b3f0ce593e0d20874a7f224328416445 (diff)
downloadopie-782a34192c2c879a80fd319153a2b2f48ded1c99.zip
opie-782a34192c2c879a80fd319153a2b2f48ded1c99.tar.gz
opie-782a34192c2c879a80fd319153a2b2f48ded1c99.tar.bz2
Script must be started after device is started up.
We should wait for 1 second after device is brought up. Fixed an error in hcicongig hci0 up.
Diffstat (limited to 'noncore/net') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/opietooth/applet/bluezapplet.cpp31
-rw-r--r--noncore/net/opietooth/applet/bluezapplet.h8
-rw-r--r--noncore/net/opietooth/lib/device.cc5
3 files changed, 36 insertions, 8 deletions
diff --git a/noncore/net/opietooth/applet/bluezapplet.cpp b/noncore/net/opietooth/applet/bluezapplet.cpp
index f7774f0..127b0af 100644
--- a/noncore/net/opietooth/applet/bluezapplet.cpp
+++ b/noncore/net/opietooth/applet/bluezapplet.cpp
@@ -79,2 +79,3 @@ namespace OpieTooth {
m_wasOn = false;
+ m_sync = false;
@@ -89,2 +90,3 @@ namespace OpieTooth {
if ( btDevice ) {
+ ::system("/etc/init.d/bluetooth stop >/dev/null 2>/dev/null");
delete btDevice;
@@ -129,3 +131,3 @@ namespace OpieTooth {
-#ifndef OPIE120
+#if OPIE_VERSION >= 102010
case Model_MyPal_716:
@@ -139,8 +141,6 @@ namespace OpieTooth {
}
- if (sync) {
- ::system("/etc/init.d/bluetooth start >/dev/null 2>/dev/null");
- } else {
- QCopEnvelope e("QPE/System", "execute(QString)");
- e << QString("/etc/init.d/bluetooth start");
- }
+ m_sync = sync;
+ connect(btDevice, SIGNAL(device(const QString&, bool)),
+ this, SLOT(slotDevice(const QString&, bool)));
+
} else {
@@ -338,2 +338,19 @@ namespace OpieTooth {
}
+ /**
+ * Reacts on device up
+ * @param name device name
+ * @param up if device was brought up
+ */
+ void BluezApplet::slotDevice(const QString& name, bool up)
+ {
+ if (!up)
+ return;
+ odebug << name << " is up" << oendl;
+ if (m_sync) {
+ ::system("/etc/init.d/bluetooth start >/dev/null 2>/dev/null");
+ } else {
+ QCopEnvelope e("QPE/System", "execute(QString)");
+ e << QString("/etc/init.d/bluetooth start");
+ }
+ }
};
diff --git a/noncore/net/opietooth/applet/bluezapplet.h b/noncore/net/opietooth/applet/bluezapplet.h
index 1937934..b79ed5b 100644
--- a/noncore/net/opietooth/applet/bluezapplet.h
+++ b/noncore/net/opietooth/applet/bluezapplet.h
@@ -72,2 +72,4 @@ public slots:
bool m_wasOn; //If BT was started by menu?
+ protected:
+ bool m_sync; //If we have to bring BT synchronously
@@ -75,2 +77,8 @@ private slots:
void slotMessage( const QCString& , const QByteArray& );
+ /**
+ * Reacts on device up
+ * @param name device name
+ * @param up if device was brought up
+ */
+ void slotDevice(const QString&, bool);
};
diff --git a/noncore/net/opietooth/lib/device.cc b/noncore/net/opietooth/lib/device.cc
index 2f04d46..88d4cf9 100644
--- a/noncore/net/opietooth/lib/device.cc
+++ b/noncore/net/opietooth/lib/device.cc
@@ -128,3 +128,4 @@ void Device::slotExited( OProcess* proc)
*m_hci << "hciconfig";
- *m_hci << "hci0 up";
+ *m_hci << "hci0";
+ *m_hci << "up";
connect(m_hci, SIGNAL( processExited(Opie::Core::OProcess*) ),
@@ -153,2 +154,4 @@ void Device::slotExited( OProcess* proc)
m_attached = true;
+ //Wait for a device to be brought up
+ ::sleep(1);
emit device("hci0", true );