summaryrefslogtreecommitdiff
path: root/noncore/net/wellenreiter/gui/scanlist.cpp
authormickeyl <mickeyl>2003-10-05 13:12:45 (UTC)
committer mickeyl <mickeyl>2003-10-05 13:12:45 (UTC)
commit634a68b636a0fa24232029b79ffa915a5621b2be (patch) (side-by-side diff)
tree3e4c58bebfd624e841c314f1db68d985d81cdc6c /noncore/net/wellenreiter/gui/scanlist.cpp
parentdc9510f788212a6be063349461540e4bea690f51 (diff)
downloadopie-634a68b636a0fa24232029b79ffa915a5621b2be.zip
opie-634a68b636a0fa24232029b79ffa915a5621b2be.tar.gz
opie-634a68b636a0fa24232029b79ffa915a5621b2be.tar.bz2
* start with preparations for scanning wired networks
* dhcp recognition now works nicely
Diffstat (limited to 'noncore/net/wellenreiter/gui/scanlist.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/wellenreiter/gui/scanlist.cpp48
1 files changed, 48 insertions, 0 deletions
diff --git a/noncore/net/wellenreiter/gui/scanlist.cpp b/noncore/net/wellenreiter/gui/scanlist.cpp
index 245290d..9d6ed6a 100644
--- a/noncore/net/wellenreiter/gui/scanlist.cpp
+++ b/noncore/net/wellenreiter/gui/scanlist.cpp
@@ -339,6 +339,54 @@ void MScanListView::identify( const OMacAddress& macaddr, const QString& ip )
}
+void MScanListView::addService( const QString& name, const OMacAddress& macaddr, const QString& ip )
+{
+ qDebug( "addService '%s', Server = %s = %s", (const char*) name, (const char*) macaddr.toString(), (const char*) ip );
+
+ //TODO: Refactor that out, we need it all over the place.
+ // Best to do it in a more comfortable abstraction in OListView
+ // (Hmm, didn't I already start something in this direction?)
+
+ QListViewItemIterator it( this );
+ for ( ; it.current(); ++it )
+ {
+ if ( it.current()->text( col_ap ) == macaddr.toString(true) )
+ {
+
+ MScanListItem* subitem = static_cast<MScanListItem*>( it.current()->firstChild() );
+
+ while ( subitem && ( subitem->text( col_essid ) != name ) )
+ {
+ #ifdef DEBUG
+ qDebug( "subitemtext: %s", (const char*) subitem->text( col_essid ) );
+ #endif
+ subitem = static_cast<MScanListItem*> ( subitem->nextSibling() );
+ }
+
+ if ( subitem )
+ {
+ // we have already seen this item, it's a dupe
+ #ifdef DEBUG
+ qDebug( "%s is a dupe - ignoring...", (const char*) name );
+ #endif
+ subitem->receivedBeacon(); //FIXME: sent data bit
+ return;
+ }
+
+ // never seen that - add new item
+
+ MScanListItem* item = new MScanListItem( it.current(), "service", "N/A", false, -1, -1 );
+ item->setText( col_essid, name );
+
+ return;
+ }
+ }
+ qDebug( "D'oh! Received identification, but item not yet in list... ==> Handle this!" );
+ MLogWindow::logwindow()->log( QString().sprintf( "WARNING: Unhandled service addition %s = %s!",
+ (const char*) macaddr.toString(), (const char*) ip ) );
+}
+
+
void MScanListView::contextMenuRequested( QListViewItem* item, const QPoint&, int col )
{
if ( !item ) return;