author | mickeyl <mickeyl> | 2003-04-07 18:07:38 (UTC) |
---|---|---|
committer | mickeyl <mickeyl> | 2003-04-07 18:07:38 (UTC) |
commit | cac6a08e456a057a19cc1fc56824fc98ff4f0bc1 (patch) (side-by-side diff) | |
tree | b17fa559629bcb9f49d685d3ec8b8dddc6a20f46 /libopie2/opienet/omanufacturerdb.cpp | |
parent | 75f029f87d4c84b37ccfe1c81ef205a6cd5fca79 (diff) | |
download | opie-cac6a08e456a057a19cc1fc56824fc98ff4f0bc1.zip opie-cac6a08e456a057a19cc1fc56824fc98ff4f0bc1.tar.gz opie-cac6a08e456a057a19cc1fc56824fc98ff4f0bc1.tar.bz2 |
- add OManufacturerDB
- API extensions for OMacAddress
- add data packet recognition for miniwellenreiter
Diffstat (limited to 'libopie2/opienet/omanufacturerdb.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | libopie2/opienet/omanufacturerdb.cpp | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/libopie2/opienet/omanufacturerdb.cpp b/libopie2/opienet/omanufacturerdb.cpp new file mode 100644 index 0000000..ea15125 --- a/dev/null +++ b/libopie2/opienet/omanufacturerdb.cpp @@ -0,0 +1,96 @@ +/********************************************************************** +** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved. +** +** This file is part of Opie Environment. +** +** This file may be distributed and/or modified under the terms of the +** GNU General Public License version 2 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +**********************************************************************/ + +#include "omanufacturerdb.h" + +// Qt +#include <qstring.h> +#include <qfile.h> +#include <qtextstream.h> + +OManufacturerDB* OManufacturerDB::_instance = 0; + +OManufacturerDB* OManufacturerDB::instance() +{ + if ( !OManufacturerDB::_instance ) + { + qDebug( "OManufacturerDB::instance(): creating OManufacturerDB..." ); + _instance = new OManufacturerDB(); + } + return _instance; +} + + +OManufacturerDB::OManufacturerDB() +{ + QString filename( "/etc/manufacturers" ); + qDebug( "OManufacturerDB: trying to read '%s'...", (const char*) filename ); + if ( !QFile::exists( filename ) ) + { + filename = "/opt/QtPalmtop/etc/manufacturers"; + qDebug( "OManufacturerDB: trying to read '%s'...", (const char*) filename ); + if ( !QFile::exists( filename ) ) + { + filename = "/usr/share/wellenreiter/manufacturers"; + qDebug( "OManufacturerDB: trying to read '%s'...", (const char*) filename ); + } + } + + QFile file( filename ); + bool hasFile = file.open( IO_ReadOnly ); + if (!hasFile) + { + qWarning( "OManufacturerDB: no valid manufacturer list found.", (const char*) filename ); + } + else + { + qDebug( "OManufacturerDB: found manufacturer list in '%s'...", (const char*) filename ); + QTextStream s( &file ); + QString addr; + QString manu; + while (!s.atEnd()) + { + s >> addr; + if ( !addr ) // read nothing!? + { + continue; + } + else + if ( addr[0] == '#' ) + { + s.readLine(); + continue; + } + s.skipWhiteSpace(); + s >> manu; + s.readLine(); + //qDebug( "ManufacturerDB: read pair %s, %s", (const char*) addr, (const char*) manu ); + manufacturers.insert( addr, manu ); + + } + } + +} + + +OManufacturerDB::~OManufacturerDB() +{ +} + + +const QString& OManufacturerDB::lookup( const QString& macaddr ) const +{ + return manufacturers[macaddr.upper().left(8)]; +} |