summaryrefslogtreecommitdiff
path: root/libopie2/opienet/omanufacturerdb.cpp
Unidiff
Diffstat (limited to 'libopie2/opienet/omanufacturerdb.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opienet/omanufacturerdb.cpp24
1 files changed, 21 insertions, 3 deletions
diff --git a/libopie2/opienet/omanufacturerdb.cpp b/libopie2/opienet/omanufacturerdb.cpp
index ea15125..c185fc5 100644
--- a/libopie2/opienet/omanufacturerdb.cpp
+++ b/libopie2/opienet/omanufacturerdb.cpp
@@ -60,6 +60,7 @@ OManufacturerDB::OManufacturerDB()
60 QTextStream s( &file ); 60 QTextStream s( &file );
61 QString addr; 61 QString addr;
62 QString manu; 62 QString manu;
63 QString extManu;
63 while (!s.atEnd()) 64 while (!s.atEnd())
64 { 65 {
65 s >> addr; 66 s >> addr;
@@ -70,13 +71,22 @@ OManufacturerDB::OManufacturerDB()
70 else 71 else
71 if ( addr[0] == '#' ) 72 if ( addr[0] == '#' )
72 { 73 {
73 s.readLine();
74 continue; 74 continue;
75 } 75 }
76 s.skipWhiteSpace(); 76 s.skipWhiteSpace();
77 s >> manu; 77 s >> manu;
78 s.readLine(); 78 s.skipWhiteSpace();
79 //qDebug( "ManufacturerDB: read pair %s, %s", (const char*) addr, (const char*) manu ); 79 s >> extManu;
80 if ( extManu[0] == '#' ) // we have an extended manufacturer
81 {
82 s.skipWhiteSpace();
83 extManu = s.readLine();
84 qDebug( "OManufacturerDB: read '%s' as extended manufacturer string", (const char*) extManu );
85 manufacturersExt.insert( addr, extManu );
86 }
87 else
88 s.readLine();
89 qDebug( "ManufacturerDB: read tuple %s, %s", (const char*) addr, (const char*) manu );
80 manufacturers.insert( addr, manu ); 90 manufacturers.insert( addr, manu );
81 91
82 } 92 }
@@ -94,3 +104,11 @@ const QString& OManufacturerDB::lookup( const QString& macaddr ) const
94{ 104{
95 return manufacturers[macaddr.upper().left(8)]; 105 return manufacturers[macaddr.upper().left(8)];
96} 106}
107
108
109const QString& OManufacturerDB::lookupExt( const QString& macaddr ) const
110{
111 QMap<QString,QString>::ConstIterator it = manufacturersExt.find( macaddr.upper().left(8) );
112 return it == manufacturersExt.end() ? lookup( macaddr ) : *it;
113}
114