author | zecke <zecke> | 2002-06-28 21:15:58 (UTC) |
---|---|---|
committer | zecke <zecke> | 2002-06-28 21:15:58 (UTC) |
commit | 63c022af051f205c8080040bf60a9221e691304b (patch) (unidiff) | |
tree | 3bc6f56f7da8751ae67c0dcec22c94449ac6ef7a | |
parent | 4aa30fb2582bcbc4f8819afb0b5f612c6441ae1d (diff) | |
download | opie-63c022af051f205c8080040bf60a9221e691304b.zip opie-63c022af051f205c8080040bf60a9221e691304b.tar.gz opie-63c022af051f205c8080040bf60a9221e691304b.tar.bz2 |
connections
-rw-r--r-- | noncore/net/opietooth/lib/manager.cc | 65 | ||||
-rw-r--r-- | noncore/net/opietooth/lib/manager.h | 18 |
2 files changed, 83 insertions, 0 deletions
diff --git a/noncore/net/opietooth/lib/manager.cc b/noncore/net/opietooth/lib/manager.cc index 23506b3..2234333 100644 --- a/noncore/net/opietooth/lib/manager.cc +++ b/noncore/net/opietooth/lib/manager.cc | |||
@@ -226 +226,66 @@ RemoteDevice::ValueList Manager::parseHCIOutput(const QString& output ) { | |||
226 | } | 226 | } |
227 | |||
228 | ////// hcitool cc and hcitool con | ||
229 | |||
230 | /** | ||
231 | * Create it on the stack as don't care | ||
232 | * so we don't need to care for it | ||
233 | * cause hcitool gets reparented | ||
234 | */ | ||
235 | void Manager::connectTo( const QString& mac) { | ||
236 | OProcess proc; | ||
237 | proc << "hcitool"; | ||
238 | proc << "cc"; | ||
239 | proc << "mac"; | ||
240 | proc.start(OProcess::DontCare); // the lib does not care at this point | ||
241 | } | ||
242 | |||
243 | |||
244 | void Manager::searchConnections() { | ||
245 | qWarning("searching connections?"); | ||
246 | OProcess* proc = new OProcess(); | ||
247 | m_hcitoolCon = QString::null; | ||
248 | |||
249 | connect(proc, SIGNAL(processExited(OProcess*) ), | ||
250 | this, SLOT(slotConnectionExited( OProcess*) ) ); | ||
251 | connect(proc, SIGNAL(receivedStdout(OProcess*, char*, int) ), | ||
252 | this, SLOT(slotConnectionOutput(OProcess*, char*, int) ) ); | ||
253 | *proc << "hcitool"; | ||
254 | *proc << "con"; | ||
255 | |||
256 | if (!proc->start(OProcess::NotifyOnExit, OProcess::AllOutput) ) { | ||
257 | Connection::ValueList list; | ||
258 | emit connections( list ); | ||
259 | delete proc; | ||
260 | } | ||
261 | } | ||
262 | void Manager::slotConnectionExited( OProcess* proc ) { | ||
263 | qWarning("exited"); | ||
264 | Connection::ValueList list; | ||
265 | list = parseConnections( m_hcitoolCon ); | ||
266 | emit connections(list ); | ||
267 | } | ||
268 | void Manager::slotConnectionOutput(OProcess* proc, char* cha, int len) { | ||
269 | QCString str(cha, len ); | ||
270 | m_hcitoolCon.append( str ); | ||
271 | delete proc; | ||
272 | } | ||
273 | Connection::ValueList Manager::parseConnections( const QString& out ) { | ||
274 | Connection::ValueList list2; | ||
275 | QStringList list = QStringList::split('\n', out ); | ||
276 | QStringList::Iterator it; | ||
277 | for (it = list.begin(); it != list.end(); ++it ) { | ||
278 | QString row = (*it).stripWhiteSpace(); | ||
279 | QStringList value = QStringList::split(' ', row ); | ||
280 | qWarning("0: %s", value[0].latin1() ); | ||
281 | qWarning("1: %s", value[1].latin1() ); | ||
282 | qWarning("2: %s", value[2].latin1() ); | ||
283 | qWarning("3: %s", value[3].latin1() ); | ||
284 | qWarning("4: %s", value[4].latin1() ); | ||
285 | qWarning("5: %s", value[5].latin1() ); | ||
286 | qWarning("6: %s", value[6].latin1() ); | ||
287 | qWarning("7: %s", value[7].latin1() ); | ||
288 | qWarning("8: %s", value[8].latin1() ); | ||
289 | } | ||
290 | return list2; | ||
291 | } | ||
diff --git a/noncore/net/opietooth/lib/manager.h b/noncore/net/opietooth/lib/manager.h index 2589e9b..b32327c 100644 --- a/noncore/net/opietooth/lib/manager.h +++ b/noncore/net/opietooth/lib/manager.h | |||
@@ -9,2 +9,3 @@ | |||
9 | 9 | ||
10 | #include "connection.h" | ||
10 | #include "remotedevice.h" | 11 | #include "remotedevice.h" |
@@ -111,4 +112,20 @@ namespace OpieTooth { | |||
111 | void searchServices( const RemoteDevice& ); | 112 | void searchServices( const RemoteDevice& ); |
113 | |||
114 | /** | ||
115 | * Starts to connect to the device | ||
116 | * in @param | ||
117 | */ | ||
118 | void connectTo(const QString& ); | ||
119 | |||
120 | /** | ||
121 | * Searches for active connections | ||
122 | * the result is emitted with the | ||
123 | * connections signal | ||
124 | */ | ||
125 | void searchConnections(); | ||
126 | |||
127 | //// not implemented yet | ||
112 | /*static*/ QString toDevice( const QString& mac ); | 128 | /*static*/ QString toDevice( const QString& mac ); |
113 | /*static*/ QString toMac( const QString &device ); | 129 | /*static*/ QString toMac( const QString &device ); |
130 | //// not implemented yet over | ||
114 | 131 | ||
@@ -138,2 +155,3 @@ private slots: | |||
138 | RemoteDevice::ValueList parseHCIOutput( const QString& ); | 155 | RemoteDevice::ValueList parseHCIOutput( const QString& ); |
156 | Connection::ValueList parseConnections( const QString& ); | ||
139 | OProcess *m_hcitool; | 157 | OProcess *m_hcitool; |