summaryrefslogtreecommitdiff
path: root/noncore/net/opietooth/applet/bluezapplet.cpp
Unidiff
Diffstat (limited to 'noncore/net/opietooth/applet/bluezapplet.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/net/opietooth/applet/bluezapplet.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/noncore/net/opietooth/applet/bluezapplet.cpp b/noncore/net/opietooth/applet/bluezapplet.cpp
index 90b0c6d..6351d4e 100644
--- a/noncore/net/opietooth/applet/bluezapplet.cpp
+++ b/noncore/net/opietooth/applet/bluezapplet.cpp
@@ -107,48 +107,52 @@ namespace OpieTooth {
107 odebug << "btDevice isLoaded" << oendl; 107 odebug << "btDevice isLoaded" << oendl;
108 return true; 108 return true;
109 } else { 109 } else {
110 odebug << "btDevice is NOT loaded" << oendl; 110 odebug << "btDevice is NOT loaded" << oendl;
111 return false; 111 return false;
112 } 112 }
113 } else { 113 } else {
114 odebug << "btDevice is ZERO" << oendl; 114 odebug << "btDevice is ZERO" << oendl;
115 return false; 115 return false;
116 } 116 }
117 } 117 }
118 118
119 int BluezApplet::setBluezStatus(int c) { 119 int BluezApplet::setBluezStatus(int c, bool sync) {
120 120
121 if ( c == 1 ) { 121 if ( c == 1 ) {
122 switch ( ODevice::inst()->model() ) { 122 switch ( ODevice::inst()->model() ) {
123 case Model_iPAQ_H39xx: 123 case Model_iPAQ_H39xx:
124 btDevice = new Device( "/dev/tts/1", "bcsp", "921600" ); 124 btDevice = new Device( "/dev/tts/1", "bcsp", "921600" );
125 break; 125 break;
126 126
127 case Model_iPAQ_H5xxx: 127 case Model_iPAQ_H5xxx:
128 btDevice = new Device( "/dev/tts/1", "any", "921600" ); 128 btDevice = new Device( "/dev/tts/1", "any", "921600" );
129 break; 129 break;
130 130
131#ifndef OPIE120 131#ifndef OPIE120
132 case Model_MyPal_716: 132 case Model_MyPal_716:
133 btDevice = new Device( "/dev/ttyS1", "bcsp", "921600" ); 133 btDevice = new Device( "/dev/ttyS1", "bcsp", "921600" );
134 break; 134 break;
135#endif 135#endif
136 136
137 default: 137 default:
138 btDevice = new Device( "/dev/ttySB0", "bcsp", "230400" ); 138 btDevice = new Device( "/dev/ttySB0", "bcsp", "230400" );
139 break; 139 break;
140 } 140 }
141 if (sync) {
142 ::system("/etc/init.d/bluetooth start >/dev/null 2>/dev/null");
143 } else {
141 QCopEnvelope e("QPE/System", "execute(QString)"); 144 QCopEnvelope e("QPE/System", "execute(QString)");
142 e << QString("/etc/init.d/bluetooth start"); 145 e << QString("/etc/init.d/bluetooth start");
146 }
143 } else { 147 } else {
144 ::system("/etc/init.d/bluetooth stop >/dev/null 2>/dev/null"); 148 ::system("/etc/init.d/bluetooth stop >/dev/null 2>/dev/null");
145 if ( btManager ) { 149 if ( btManager ) {
146 delete btManager; 150 delete btManager;
147 btManager = 0; 151 btManager = 0;
148 } 152 }
149 if ( btDevice ) { 153 if ( btDevice ) {
150 delete btDevice; 154 delete btDevice;
151 btDevice = 0; 155 btDevice = 0;
152 } 156 }
153 } 157 }
154 return 0; 158 return 0;
@@ -160,25 +164,25 @@ namespace OpieTooth {
160 164
161 int BluezApplet::setBluezDiscoveryStatus(int d) { 165 int BluezApplet::setBluezDiscoveryStatus(int d) {
162 return bluezDiscoveryActive = d; 166 return bluezDiscoveryActive = d;
163 } 167 }
164 168
165 // FIXME mbhaynie 169 // FIXME mbhaynie
166 // receiver for QCopChannel("QPE/Bluetooth") messages. 170 // receiver for QCopChannel("QPE/Bluetooth") messages.
167 void BluezApplet::slotMessage( const QCString& str, const QByteArray& ) 171 void BluezApplet::slotMessage( const QCString& str, const QByteArray& )
168 { 172 {
169 if ( str == "enableBluetooth()") { 173 if ( str == "enableBluetooth()") {
170 m_wasOn = checkBluezStatus(); 174 m_wasOn = checkBluezStatus();
171 if (!m_wasOn) { 175 if (!m_wasOn) {
172 setBluezStatus(1); 176 setBluezStatus(1, true);
173 sleep(2); 177 sleep(2);
174 } 178 }
175 } 179 }
176 else if ( str == "disableBluetooth()") { 180 else if ( str == "disableBluetooth()") {
177 /* 181 /*
178 * We can down BT only if it was started by qcop. We don't want 182 * We can down BT only if it was started by qcop. We don't want
179 * to down BT started from menu an break our networking connection 183 * to down BT started from menu an break our networking connection
180 */ 184 */
181 if (checkBluezStatus() && !m_wasOn) 185 if (checkBluezStatus() && !m_wasOn)
182 setBluezStatus(0); 186 setBluezStatus(0);
183 doListDevice = false; 187 doListDevice = false;
184 } 188 }