summaryrefslogtreecommitdiff
authorzecke <zecke>2002-07-12 17:14:58 (UTC)
committer zecke <zecke>2002-07-12 17:14:58 (UTC)
commit89dce758480cc90502ad14b6c4cf80774e6c1845 (patch) (unidiff)
tree2ff4e635c8aa86385dfd896084f5cd419efd0840
parent716211b5e06bb25145cfbcf62a11a7c52c79dde5 (diff)
downloadopie-89dce758480cc90502ad14b6c4cf80774e6c1845.zip
opie-89dce758480cc90502ad14b6c4cf80774e6c1845.tar.gz
opie-89dce758480cc90502ad14b6c4cf80774e6c1845.tar.bz2
- Connection -> ConnectionState
- Factory adjustments - Factory function - Refactoring the QListViewItem derived class BTListItem | - BTDeviceItem for RemoteDevices | - BTServiceItem for Services | - BTConnectionItem for ConnectionState - misc bug fixes
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/opietooth/lib/connection.cpp32
-rw-r--r--noncore/net/opietooth/lib/connection.h16
-rw-r--r--noncore/net/opietooth/lib/manager.cc10
-rw-r--r--noncore/net/opietooth/lib/manager.h4
-rw-r--r--noncore/net/opietooth/manager/bluebase.cpp84
-rw-r--r--noncore/net/opietooth/manager/bluebase.h11
-rw-r--r--noncore/net/opietooth/manager/btlistitem.cpp60
-rw-r--r--noncore/net/opietooth/manager/btlistitem.h21
-rw-r--r--noncore/net/opietooth/manager/manager.pro4
-rw-r--r--noncore/net/opietooth/manager/popuphelper.cpp9
-rw-r--r--noncore/net/opietooth/manager/popuphelper.h6
11 files changed, 109 insertions, 148 deletions
diff --git a/noncore/net/opietooth/lib/connection.cpp b/noncore/net/opietooth/lib/connection.cpp
index 1f9baaf..ef7d925 100644
--- a/noncore/net/opietooth/lib/connection.cpp
+++ b/noncore/net/opietooth/lib/connection.cpp
@@ -3,19 +3,19 @@
3 3
4using namespace OpieTooth; 4using namespace OpieTooth;
5 5
6Connection::Connection() { 6ConnectionState::ConnectionState() {
7 m_direction = Incoming; 7 m_direction = Incoming;
8 m_handle = -1; 8 m_handle = -1;
9 m_state = -1; 9 m_state = -1;
10 m_linkMode = -1; 10 m_linkMode = -1;
11}; 11};
12 12
13Connection::Connection( const Connection& con1 ) { 13ConnectionState::ConnectionState( const ConnectionState& con1 ) {
14 (*this) = con1; 14 (*this) = con1;
15} 15}
16 16
17 17
18Connection::Connection( bool in, 18ConnectionState::ConnectionState( bool in,
19 const QString& conType, 19 const QString& conType,
20 const QString& mac, 20 const QString& mac,
21 int handle, 21 int handle,
@@ -30,55 +30,55 @@ Connection::Connection( bool in,
30 30
31} 31}
32 32
33void Connection::setDirection( bool incoming ) { 33void ConnectionState::setDirection( bool incoming ) {
34 m_direction = incoming; 34 m_direction = incoming;
35} 35}
36 36
37bool Connection::direction() const { 37bool ConnectionState::direction() const {
38 return m_direction; 38 return m_direction;
39} 39}
40 40
41void Connection::setConnectionMode( const QString& conType ) { 41void ConnectionState::setConnectionMode( const QString& conType ) {
42 m_contype = conType; 42 m_contype = conType;
43} 43}
44 44
45QString Connection::connectionMode() const { 45QString ConnectionState::connectionMode() const {
46 return m_contype; 46 return m_contype;
47} 47}
48 48
49void Connection::setMac( const QString& mac ) { 49void ConnectionState::setMac( const QString& mac ) {
50 m_mac = mac; 50 m_mac = mac;
51} 51}
52 52
53QString Connection::mac() const{ 53QString ConnectionState::mac() const{
54 return m_mac; 54 return m_mac;
55} 55}
56 56
57void Connection::setHandle( int handle ) { 57void ConnectionState::setHandle( int handle ) {
58 m_handle = handle; 58 m_handle = handle;
59} 59}
60 60
61int Connection::handle() const{ 61int ConnectionState::handle() const{
62 return m_handle; 62 return m_handle;
63} 63}
64 64
65void Connection::setState( int state ) { 65void ConnectionState::setState( int state ) {
66 m_state = state; 66 m_state = state;
67} 67}
68 68
69int Connection::state()const { 69int ConnectionState::state()const {
70 return m_state; 70 return m_state;
71} 71}
72 72
73void Connection::setLinkMode( int linkMode ) { 73void ConnectionState::setLinkMode( int linkMode ) {
74 m_linkMode = linkMode; 74 m_linkMode = linkMode;
75} 75}
76 76
77int Connection::linkMode()const{ 77int ConnectionState::linkMode()const{
78 return m_linkMode; 78 return m_linkMode;
79} 79}
80 80
81Connection &Connection::operator=( const Connection& con1 ) { 81ConnectionState &ConnectionState::operator=( const ConnectionState& con1 ) {
82 m_direction = con1.m_direction; 82 m_direction = con1.m_direction;
83 m_contype = con1.m_contype; 83 m_contype = con1.m_contype;
84 m_mac = con1.m_mac; 84 m_mac = con1.m_mac;
diff --git a/noncore/net/opietooth/lib/connection.h b/noncore/net/opietooth/lib/connection.h
index 37090ce..76e5dad 100644
--- a/noncore/net/opietooth/lib/connection.h
+++ b/noncore/net/opietooth/lib/connection.h
@@ -17,18 +17,18 @@ namespace OpieTooth {
17 * in a OO way 17 * in a OO way
18 */ 18 */
19 19
20 class Connection { 20 class ConnectionState {
21 public: 21 public:
22 /** 22 /**
23 * typedef for a list of 23 * typedef for a list of
24 * Connections 24 * Connections
25 */ 25 */
26 typedef QValueList<Connection> ValueList; 26 typedef QValueList<ConnectionState> ValueList;
27 27
28 /** 28 /**
29 * Copy c'tor. 29 * Copy c'tor.
30 */ 30 */
31 Connection( const Connection& ); 31 ConnectionState( const ConnectionState& );
32 32
33 /** 33 /**
34 * Main c'tor 34 * Main c'tor
@@ -44,7 +44,7 @@ namespace OpieTooth {
44 * < ACL 00:02:C7:09:2B:53 handle 1 state 1 lm MASTER 44 * < ACL 00:02:C7:09:2B:53 handle 1 state 1 lm MASTER
45 * 45 *
46 */ 46 */
47 Connection( bool in, 47 ConnectionState( bool in,
48 const QString& conType, 48 const QString& conType,
49 const QString& mac, 49 const QString& mac,
50 int handle, 50 int handle,
@@ -55,7 +55,7 @@ namespace OpieTooth {
55 * C'tor for compability with QValueList 55 * C'tor for compability with QValueList
56 * QValueList needs this c'tor. 56 * QValueList needs this c'tor.
57 */ 57 */
58 Connection(); 58 ConnectionState();
59 59
60 /** 60 /**
61 * Set if the connection is incoming or 61 * Set if the connection is incoming or
@@ -131,11 +131,11 @@ namespace OpieTooth {
131 /** 131 /**
132 * copy c'tor 132 * copy c'tor
133 */ 133 */
134 Connection &operator=( const Connection& ); 134 ConnectionState &operator=( const ConnectionState& );
135 135
136 private: 136 private:
137 class ConnectionPrivate; 137 class ConnectionStatePrivate;
138 ConnectionPrivate *d; 138 ConnectionStatePrivate *d;
139 bool m_direction : 1; 139 bool m_direction : 1;
140 QString m_contype; 140 QString m_contype;
141 QString m_mac; 141 QString m_mac;
diff --git a/noncore/net/opietooth/lib/manager.cc b/noncore/net/opietooth/lib/manager.cc
index e07f9da..1281116 100644
--- a/noncore/net/opietooth/lib/manager.cc
+++ b/noncore/net/opietooth/lib/manager.cc
@@ -254,14 +254,14 @@ void Manager::searchConnections() {
254 *proc << "con"; 254 *proc << "con";
255 255
256 if (!proc->start(OProcess::NotifyOnExit, OProcess::AllOutput) ) { 256 if (!proc->start(OProcess::NotifyOnExit, OProcess::AllOutput) ) {
257 Connection::ValueList list; 257 ConnectionState::ValueList list;
258 emit connections( list ); 258 emit connections( list );
259 delete proc; 259 delete proc;
260 } 260 }
261} 261}
262void Manager::slotConnectionExited( OProcess* /*proc*/ ) { 262void Manager::slotConnectionExited( OProcess* /*proc*/ ) {
263 qWarning("exited"); 263 qWarning("exited");
264 Connection::ValueList list; 264 ConnectionState::ValueList list;
265 list = parseConnections( m_hcitoolCon ); 265 list = parseConnections( m_hcitoolCon );
266 emit connections(list ); 266 emit connections(list );
267} 267}
@@ -270,8 +270,8 @@ void Manager::slotConnectionOutput(OProcess* proc, char* cha, int len) {
270 m_hcitoolCon.append( str ); 270 m_hcitoolCon.append( str );
271 delete proc; 271 delete proc;
272} 272}
273Connection::ValueList Manager::parseConnections( const QString& out ) { 273ConnectionState::ValueList Manager::parseConnections( const QString& out ) {
274 Connection::ValueList list2; 274 ConnectionState::ValueList list2;
275 QStringList list = QStringList::split('\n', out ); 275 QStringList list = QStringList::split('\n', out );
276 QStringList::Iterator it; 276 QStringList::Iterator it;
277 for (it = list.begin(); it != list.end(); ++it ) { 277 for (it = list.begin(); it != list.end(); ++it ) {
@@ -286,7 +286,7 @@ Connection::ValueList Manager::parseConnections( const QString& out ) {
286 qWarning("6: %s", value[6].latin1() ); 286 qWarning("6: %s", value[6].latin1() );
287 qWarning("7: %s", value[7].latin1() ); 287 qWarning("7: %s", value[7].latin1() );
288 qWarning("8: %s", value[8].latin1() ); 288 qWarning("8: %s", value[8].latin1() );
289 Connection con; 289 ConnectionState con;
290 con.setDirection( value[0] == QString::fromLatin1("<") ? Outgoing : Incoming ); 290 con.setDirection( value[0] == QString::fromLatin1("<") ? Outgoing : Incoming );
291 con.setConnectionMode( value[1] ); 291 con.setConnectionMode( value[1] );
292 con.setMac( value[2] ); 292 con.setMac( value[2] );
diff --git a/noncore/net/opietooth/lib/manager.h b/noncore/net/opietooth/lib/manager.h
index b32327c..0ebe1b3 100644
--- a/noncore/net/opietooth/lib/manager.h
+++ b/noncore/net/opietooth/lib/manager.h
@@ -137,7 +137,7 @@ namespace OpieTooth {
137 void removedService( const QString& service, bool removed ); 137 void removedService( const QString& service, bool removed );
138 void foundServices( const QString& device, Services::ValueList ); 138 void foundServices( const QString& device, Services::ValueList );
139 void foundDevices( const QString& device, RemoteDevice::ValueList ); 139 void foundDevices( const QString& device, RemoteDevice::ValueList );
140 void connections( Connection::ValueList ); 140 void connections( ConnectionState::ValueList );
141 141
142private slots: 142private slots:
143 void slotProcessExited(OProcess* ); 143 void slotProcessExited(OProcess* );
@@ -153,7 +153,7 @@ private slots:
153 private: 153 private:
154 Services::ValueList parseSDPOutput( const QString& ); 154 Services::ValueList parseSDPOutput( const QString& );
155 RemoteDevice::ValueList parseHCIOutput( const QString& ); 155 RemoteDevice::ValueList parseHCIOutput( const QString& );
156 Connection::ValueList parseConnections( const QString& ); 156 ConnectionState::ValueList parseConnections( const QString& );
157 OProcess *m_hcitool; 157 OProcess *m_hcitool;
158 OProcess *m_sdp; // not only one 158 OProcess *m_sdp; // not only one
159 QString m_device; 159 QString m_device;
diff --git a/noncore/net/opietooth/manager/bluebase.cpp b/noncore/net/opietooth/manager/bluebase.cpp
index 85c6717..9cfeaa2 100644
--- a/noncore/net/opietooth/manager/bluebase.cpp
+++ b/noncore/net/opietooth/manager/bluebase.cpp
@@ -44,6 +44,8 @@
44#include <remotedevice.h> 44#include <remotedevice.h>
45#include <services.h> 45#include <services.h>
46 46
47#include "btconnectionitem.h"
48
47using namespace OpieTooth; 49using namespace OpieTooth;
48 50
49 BlueBase::BlueBase( QWidget* parent, const char* name, WFlags fl ) 51 BlueBase::BlueBase( QWidget* parent, const char* name, WFlags fl )
@@ -87,10 +89,13 @@ using namespace OpieTooth;
87 //TESTING 89 //TESTING
88 ListView2->setRootIsDecorated(true); 90 ListView2->setRootIsDecorated(true);
89 91
90 BTListItem *topLV2 = new BTListItem( ListView2, "Siemens S45", "", "device" ); 92 BTDeviceItem *topLV2 = new BTDeviceItem( ListView2, RemoteDevice("xx:", "Siemens S45" ) );
91 topLV2->setPixmap( 1, m_onPix ); 93 topLV2->setPixmap( 1, m_onPix );
92 (void) new BTListItem( topLV2, "Serial" ,"", "service" ); 94 Services s1;
93 (void) new BTListItem( topLV2, "BlueNiC" , "", "service" ); 95 s1.setServiceName( "Serial" );
96 (void) new BTServiceItem( topLV2, s1 );
97 s1.setServiceName( "BlueNic" );
98 (void) new BTServiceItem( topLV2, s1 );
94 99
95 writeToHciConfig(); 100 writeToHciConfig();
96 // search conncetions 101 // search conncetions
@@ -184,13 +189,19 @@ using namespace OpieTooth;
184 */ 189 */
185 void BlueBase::writeSavedDevices() { 190 void BlueBase::writeSavedDevices() {
186 QListViewItemIterator it( ListView2 ); 191 QListViewItemIterator it( ListView2 );
192 BTListItem* item;
193 BTDeviceItem* device;
187 194
188 for ( ; it.current(); ++it ) { 195 for ( ; it.current(); ++it ) {
196 item = (BTListItem*)it.current();
197 if(item->typeId() != BTListItem::Device )
198 continue;
199 device = (BTDeviceItem*)item;
189 // seperate config file for each device, to store more information in future. 200 // seperate config file for each device, to store more information in future.
190 qDebug( "/Settings/bluetooth/" + (((BTListItem*)it.current())->mac()) + ".conf"); 201 qDebug( "/Settings/bluetooth/" + device->mac() + ".conf");
191 Config conf( QDir::homeDirPath() + "/Settings/bluetooth/" + (((BTListItem*)it.current())->mac()) + ".conf", Config::File ); 202 Config conf( QDir::homeDirPath() + "/Settings/bluetooth/" + device->mac() + ".conf", Config::File );
192 conf.setGroup( "Info" ); 203 conf.setGroup( "Info" );
193 conf.writeEntry( "name", ((BTListItem*)it.current())->name() ); 204 conf.writeEntry( "name", device->name() );
194 } 205 }
195 } 206 }
196 207
@@ -245,11 +256,12 @@ using namespace OpieTooth;
245 * 256 *
246 */ 257 */
247 void BlueBase::addSearchedDevices( const QValueList<RemoteDevice> &newDevices ) { 258 void BlueBase::addSearchedDevices( const QValueList<RemoteDevice> &newDevices ) {
248 BTListItem * deviceItem; 259 BTDeviceItem * deviceItem;
249 QValueList<RemoteDevice>::ConstIterator it; 260 QValueList<RemoteDevice>::ConstIterator it;
250 261
251 for( it = newDevices.begin(); it != newDevices.end() ; ++it ) { 262 for( it = newDevices.begin(); it != newDevices.end() ; ++it ) {
252 deviceItem = new BTListItem( ListView2 , (*it).name(), (*it).mac(), "device" ); 263
264 deviceItem = new BTDeviceItem( ListView2 , (*it) );
253 deviceItem->setExpandable ( true ); 265 deviceItem->setExpandable ( true );
254 266
255 // look if device is avail. atm, async 267 // look if device is avail. atm, async
@@ -326,10 +338,10 @@ void BlueBase::startServiceActionHold( QListViewItem * item, const QPoint & poin
326 * Search and display avail. services for a device (on expand from device listing) 338 * Search and display avail. services for a device (on expand from device listing)
327 * 339 *
328 */ 340 */
329 void BlueBase::addServicesToDevice( BTListItem * item ) { 341 void BlueBase::addServicesToDevice( BTDeviceItem * item ) {
330 qDebug("addServicesToDevice"); 342 qDebug("addServicesToDevice");
331 // row of mac adress text(3) 343 // row of mac adress text(3)
332 RemoteDevice device( item->mac(), item->name() ); 344 RemoteDevice device = item->remoteDevice();
333 m_deviceList.insert( item->mac() , item ); 345 m_deviceList.insert( item->mac() , item );
334 // and some time later I get a signal foundServices( const QString& device, Services::ValueList ); back 346 // and some time later I get a signal foundServices( const QString& device, Services::ValueList ); back
335 m_localDevice->searchServices( device ); 347 m_localDevice->searchServices( device );
@@ -344,28 +356,31 @@ void BlueBase::startServiceActionHold( QListViewItem * item, const QPoint & poin
344 void BlueBase::addServicesToDevice( const QString& device, Services::ValueList servicesList ) { 356 void BlueBase::addServicesToDevice( const QString& device, Services::ValueList servicesList ) {
345 qDebug("fill services list"); 357 qDebug("fill services list");
346 358
347 QMap<QString,BTListItem*>::Iterator it; 359 QMap<QString,BTDeviceItem*>::Iterator it;
348 BTListItem* deviceItem = 0; 360 BTDeviceItem* deviceItem = 0;
349 361
350 // get the right devices which requested the search 362 // get the right devices which requested the search
351 for( it = m_deviceList.begin(); it != m_deviceList.end(); ++it ) { 363 it = m_deviceList.find( device );
352 if ( it.key() == device ) { 364 if( it == m_deviceList.end() )
353 deviceItem = it.data(); 365 return;
354 } 366 deviceItem = it.data();
355 }
356 367
357 QValueList<OpieTooth::Services>::Iterator it2; 368 QValueList<OpieTooth::Services>::Iterator it2;
358 BTListItem * serviceItem; 369 BTServiceItem * serviceItem;
359 370
360 if (!servicesList.isEmpty() ) { 371 if (!servicesList.isEmpty() ) {
361 // add services 372 // add services
362 for( it2 = servicesList.begin(); it2 != servicesList.end(); ++it2 ) { 373 for( it2 = servicesList.begin(); it2 != servicesList.end(); ++it2 ) {
363 serviceItem = new BTListItem( deviceItem , (*it2).serviceName() , "" , "service" ); 374 serviceItem = new BTServiceItem( deviceItem , (*it2) );
364 serviceItem->setPixmap( 0, m_iconLoader->serviceIcon( (*it2).classIdList() ) ); 375 serviceItem->setPixmap( 0, m_iconLoader->serviceIcon( (*it2).classIdList() ) );
365 } 376 }
366 } else { 377 } else {
367 serviceItem = new BTListItem( deviceItem , tr("no services found"), "" , "service" ); 378 Services s1;
379 s1.setServiceName( tr("no serives found") );
380 serviceItem = new BTServiceItem( deviceItem, s1 );
368 } 381 }
382 // now remove them from the list
383 m_deviceList.remove( it );
369 } 384 }
370 385
371 386
@@ -378,17 +393,19 @@ void BlueBase::startServiceActionHold( QListViewItem * item, const QPoint & poin
378 } 393 }
379 394
380 395
381 void BlueBase::addConnectedDevices( Connection::ValueList connectionList ) { 396 void BlueBase::addConnectedDevices( ConnectionState::ValueList connectionList ) {
382 QValueList<OpieTooth::Connection>::Iterator it; 397 QValueList<OpieTooth::ConnectionState>::Iterator it;
383 BTListItem * connectionItem; 398 BTConnectionItem * connectionItem;
384 399
385 if ( !connectionList.isEmpty() ) { 400 if ( !connectionList.isEmpty() ) {
386 401
387 for (it = connectionList.begin(); it != connectionList.end(); ++it) { 402 for (it = connectionList.begin(); it != connectionList.end(); ++it) {
388 connectionItem = new BTListItem( ListView4 , (*it).mac() , (*it).mac() , "connection" ); 403 connectionItem = new BTConnectionItem( ListView4 , (*it) );
389 } 404 }
390 } else { 405 } else {
391 connectionItem = new BTListItem( ListView4 , tr("No connections found"), "", "connection" ); 406 ConnectionState con;
407 con.setMac( tr("No connections found") );
408 connectionItem = new BTConnectionItem( ListView4 , con );
392 } 409 }
393 410
394 // recall connection search after some time 411 // recall connection search after some time
@@ -400,6 +417,7 @@ void BlueBase::startServiceActionHold( QListViewItem * item, const QPoint & poin
400 */ 417 */
401 void BlueBase::deviceActive( const RemoteDevice &device ) { 418 void BlueBase::deviceActive( const RemoteDevice &device ) {
402 // search by mac, async, gets a signal back 419 // search by mac, async, gets a signal back
420 // We should have a BTDeviceItem there or where does it get added to the map -zecke
403 m_localDevice->isAvailable( device.mac() ); 421 m_localDevice->isAvailable( device.mac() );
404 } 422 }
405 423
@@ -411,21 +429,21 @@ void BlueBase::startServiceActionHold( QListViewItem * item, const QPoint & poin
411 void BlueBase::deviceActive( const QString& device, bool connected ) { 429 void BlueBase::deviceActive( const QString& device, bool connected ) {
412 qDebug("deviceActive slot"); 430 qDebug("deviceActive slot");
413 431
414 QMap<QString,BTListItem*>::Iterator it; 432 QMap<QString,BTDeviceItem*>::Iterator it;
415 BTListItem* deviceItem = 0; 433
434 it = m_deviceList.find( device );
435 if( it == m_deviceList.end() )
436 return;
437
438 BTDeviceItem* deviceItem = it.data();
416 439
417 // get the right devices which requested the search
418 for( it = m_deviceList.begin(); it != m_deviceList.end(); ++it ) {
419 if ( it.key() == device ) {
420 deviceItem = it.data();
421 }
422 }
423 440
424 if ( connected ) { 441 if ( connected ) {
425 deviceItem->setPixmap( 1, m_onPix ); 442 deviceItem->setPixmap( 1, m_onPix );
426 } else { 443 } else {
427 deviceItem->setPixmap( 1, m_offPix ); 444 deviceItem->setPixmap( 1, m_offPix );
428 } 445 }
446 m_deviceList.remove( it );
429 } 447 }
430 448
431 /** 449 /**
diff --git a/noncore/net/opietooth/manager/bluebase.h b/noncore/net/opietooth/manager/bluebase.h
index 73fac97..a8f4fe4 100644
--- a/noncore/net/opietooth/manager/bluebase.h
+++ b/noncore/net/opietooth/manager/bluebase.h
@@ -10,7 +10,10 @@
10#include <qpixmap.h> 10#include <qpixmap.h>
11 11
12#include "bluetoothbase.h" 12#include "bluetoothbase.h"
13#include "btlistitem.h" 13
14#include "btserviceitem.h"
15#include "btdeviceitem.h"
16
14#include "bticonloader.h" 17#include "bticonloader.h"
15 18
16#include <remotedevice.h> 19#include <remotedevice.h>
@@ -51,7 +54,7 @@ namespace OpieTooth {
51 void initGui(); 54 void initGui();
52 void setInfo(); 55 void setInfo();
53 Manager *m_localDevice; 56 Manager *m_localDevice;
54 QMap<QString,BTListItem*> m_deviceList; 57 QMap<QString,BTDeviceItem*> m_deviceList;
55 58
56 void deviceActive( const RemoteDevice &device ); 59 void deviceActive( const RemoteDevice &device );
57 60
@@ -69,10 +72,10 @@ namespace OpieTooth {
69 72
70 private slots: 73 private slots:
71 void addSearchedDevices( const QValueList<RemoteDevice> &newDevices ); 74 void addSearchedDevices( const QValueList<RemoteDevice> &newDevices );
72 void addServicesToDevice( BTListItem *item ); 75 void addServicesToDevice( BTDeviceItem *item );
73 void addServicesToDevice( const QString& device, Services::ValueList ); 76 void addServicesToDevice( const QString& device, Services::ValueList );
74 void addConnectedDevices(); 77 void addConnectedDevices();
75 void addConnectedDevices( Connection::ValueList ); 78 void addConnectedDevices( ConnectionState::ValueList );
76 void startServiceActionClicked( QListViewItem *item ); 79 void startServiceActionClicked( QListViewItem *item );
77 void startServiceActionHold( QListViewItem *, const QPoint &, int ); 80 void startServiceActionHold( QListViewItem *, const QPoint &, int );
78 void deviceActive( const QString& mac, bool connected ); 81 void deviceActive( const QString& mac, bool connected );
diff --git a/noncore/net/opietooth/manager/btlistitem.cpp b/noncore/net/opietooth/manager/btlistitem.cpp
index 82e7c00..36816f8 100644
--- a/noncore/net/opietooth/manager/btlistitem.cpp
+++ b/noncore/net/opietooth/manager/btlistitem.cpp
@@ -1,61 +1,11 @@
1 1
2#include "btlistitem.h" 2#include "btlistitem.h"
3 3
4namespace OpieTooth { 4using namespace OpieTooth;
5 5
6 6
7 BTListItem::BTListItem( QListView * parent ) : QListViewItem( parent ) { 7BTListItem::BTListItem( QListView * parent ) : QListViewItem( parent ) {
8 } 8}
9 9
10 BTListItem::BTListItem( QListViewItem * parent ) : QListViewItem( parent ) { 10BTListItem::BTListItem( QListViewItem * parent ) : QListViewItem( parent ) {
11 } 11}
12
13
14 // name, and then mac and then servicetype
15 BTListItem::BTListItem( QListView * parent, const QString &name , const QString& mac, const QString& type )
16 : QListViewItem( parent, name ){
17
18 m_name = name;
19 m_mac = mac;
20 m_type = type;
21
22 }
23
24 BTListItem::BTListItem( QListViewItem * parent , const QString& name, const QString& mac, const QString& type )
25 : QListViewItem( parent, name ){
26
27 m_name = name;
28 m_mac = mac;
29 m_type = type;
30 }
31
32
33 void BTListItem::setMac( const QString& mac ) {
34 m_mac = mac;
35 }
36
37 QString BTListItem::mac() const {
38 return m_mac;
39 }
40
41 void BTListItem::setName( const QString& name ) {
42 m_name = name;
43 }
44
45 QString BTListItem::name() const {
46 return m_name;
47 }
48
49 void BTListItem::setType( const QString& type ) {
50 m_type = type;
51 }
52
53 QString BTListItem::type() const {
54 return m_type;
55 }
56
57
58 BTListItem::~BTListItem() {
59 }
60
61};
diff --git a/noncore/net/opietooth/manager/btlistitem.h b/noncore/net/opietooth/manager/btlistitem.h
index d7ce03b..6b529d1 100644
--- a/noncore/net/opietooth/manager/btlistitem.h
+++ b/noncore/net/opietooth/manager/btlistitem.h
@@ -6,27 +6,12 @@
6namespace OpieTooth { 6namespace OpieTooth {
7 7
8 class BTListItem : public QListViewItem { 8 class BTListItem : public QListViewItem {
9
10 public: 9 public:
10 enum Types { Device =0, Service, Connection };
11 BTListItem( QListView * parent ); 11 BTListItem( QListView * parent );
12 BTListItem( QListViewItem * parent ); 12 BTListItem( QListViewItem * parent );
13 13 virtual QString type() const = 0;
14 // name, and then mac and then servicetype 14 virtual int typeId() const = 0;
15 BTListItem( QListView * , const QString&, const QString&, const QString& );
16 BTListItem( QListViewItem * parent , const QString&, const QString& , const QString& );
17 ~BTListItem();
18
19 void setMac( const QString& );
20 QString mac()const;
21 void setName( const QString& );
22 QString name()const;
23 void setType( const QString& );
24 QString type()const;
25 private:
26 QString m_name;
27 QString m_mac;
28 QString m_type;
29
30 }; 15 };
31}; 16};
32 17
diff --git a/noncore/net/opietooth/manager/manager.pro b/noncore/net/opietooth/manager/manager.pro
index 4f0ea60..d36b8df2 100644
--- a/noncore/net/opietooth/manager/manager.pro
+++ b/noncore/net/opietooth/manager/manager.pro
@@ -1,8 +1,8 @@
1TEMPLATE = app 1TEMPLATE = app
2CONFIG = qt warn_on debug 2CONFIG = qt warn_on debug
3#CONFIG = qt warn_on release 3#CONFIG = qt warn_on release
4HEADERS = popuphelper.h bluebase.h scandialog.h btlistitem.h hciconfwrapper.h bticonloader.h 4HEADERS = btconnectionitem.h btdeviceitem.h btserviceitem.h stdpopups.h popuphelper.h bluebase.h scandialog.h btlistitem.h hciconfwrapper.h bticonloader.h
5SOURCES = popuphelper.cpp main.cpp bluebase.cpp scandialog.cpp btlistitem.cpp hciconfwrapper.cpp bticonloader.cpp 5SOURCES = btconnectionitem.cpp btdeviceitem.cpp btserviceitem.h stdpopups.cpp popuphelper.cpp main.cpp bluebase.cpp scandialog.cpp btlistitem.cpp hciconfwrapper.cpp bticonloader.cpp
6INCLUDEPATH += $(OPIEDIR)/include 6INCLUDEPATH += $(OPIEDIR)/include
7INCLUDEPATH += $(OPIEDIR)/noncore/net/opietooth/lib 7INCLUDEPATH += $(OPIEDIR)/noncore/net/opietooth/lib
8DEPENDPATH += $(OPIEDIR)/include 8DEPENDPATH += $(OPIEDIR)/include
diff --git a/noncore/net/opietooth/manager/popuphelper.cpp b/noncore/net/opietooth/manager/popuphelper.cpp
index 2a6dad0..d8404d6 100644
--- a/noncore/net/opietooth/manager/popuphelper.cpp
+++ b/noncore/net/opietooth/manager/popuphelper.cpp
@@ -1,4 +1,6 @@
1 1
2#include "stdpopups.h"
3
2#include "popuphelper.h" 4#include "popuphelper.h"
3 5
4using namespace OpieTooth; 6using namespace OpieTooth;
@@ -12,14 +14,15 @@ PopupHelper::~PopupHelper() {
12void PopupHelper::insert( int id, popupFactory fact ) { 14void PopupHelper::insert( int id, popupFactory fact ) {
13 m_map.insert(id, fact ); 15 m_map.insert(id, fact );
14} 16}
15QPopupMenu* PopupHelper::find( int id ) { 17QPopupMenu* PopupHelper::find( int id, const Services& ser, QListViewItem* item ) {
16 FactoryMap::Iterator it = m_map.find(id ); 18 FactoryMap::Iterator it = m_map.find(id );
17 if ( it != m_map.end() ) { 19 if ( it != m_map.end() ) {
18 popupFactory fact = it.data(); 20 popupFactory fact = it.data();
19 return (*fact)(); 21 return (*fact)(ser, item);
20 } 22 }
21 return 0l; 23 return 0l;
22} 24}
23void PopupHelper::init() { 25void PopupHelper::init() {
24 26 insert( 1, newRfcComPopup );
27 insert(2, newObexPushPopup );
25} 28}
diff --git a/noncore/net/opietooth/manager/popuphelper.h b/noncore/net/opietooth/manager/popuphelper.h
index 7485f71..7541ac5 100644
--- a/noncore/net/opietooth/manager/popuphelper.h
+++ b/noncore/net/opietooth/manager/popuphelper.h
@@ -2,19 +2,21 @@
2#ifndef OPIE_TOOTH_POPUP_HELPER 2#ifndef OPIE_TOOTH_POPUP_HELPER
3#define OPIE_TOOTH_POPUP_HELPER 3#define OPIE_TOOTH_POPUP_HELPER
4 4
5#include <qlistview.h>
5#include <qpopupmenu.h> 6#include <qpopupmenu.h>
6#include <qmap.h> 7#include <qmap.h>
7 8
9#include <services.h>
8 10
9namespace OpieTooth { 11namespace OpieTooth {
10 typedef QPopupMenu* (*popupFactory)(void); 12 typedef QPopupMenu* (*popupFactory)(const Services&, QListViewItem*);
11 typedef QMap<int, popupFactory> FactoryMap; 13 typedef QMap<int, popupFactory> FactoryMap;
12 class PopupHelper { 14 class PopupHelper {
13 public: 15 public:
14 PopupHelper(); 16 PopupHelper();
15 ~PopupHelper(); 17 ~PopupHelper();
16 void insert( int id, popupFactory fact ); 18 void insert( int id, popupFactory fact );
17 QPopupMenu* find( int id ); 19 QPopupMenu* find( int id, const Services&, QListViewItem* );
18 private: 20 private:
19 void init(); 21 void init();
20 FactoryMap m_map; 22 FactoryMap m_map;