Diffstat (limited to 'libopie2/opienet/omanufacturerdb.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | libopie2/opienet/omanufacturerdb.cpp | 67 |
1 files changed, 40 insertions, 27 deletions
diff --git a/libopie2/opienet/omanufacturerdb.cpp b/libopie2/opienet/omanufacturerdb.cpp index c3c213c..bcce11f 100644 --- a/libopie2/opienet/omanufacturerdb.cpp +++ b/libopie2/opienet/omanufacturerdb.cpp | |||
@@ -1,118 +1,131 @@ | |||
1 | /********************************************************************** | 1 | /* |
2 | ** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved. | 2 | This file is part of the Opie Project |
3 | ** | 3 | (C) 2003 Michael 'Mickey' Lauer <mickey@Vanille.de> |
4 | ** This file is part of Opie Environment. | 4 | =. |
5 | ** | 5 | .=l. |
6 | ** This file may be distributed and/or modified under the terms of the | 6 | .>+-= |
7 | ** GNU General Public License version 2 as published by the Free Software | 7 | _;:, .> :=|. This program is free software; you can |
8 | ** Foundation and appearing in the file LICENSE.GPL included in the | 8 | .> <`_, > . <= redistribute it and/or modify it under |
9 | ** packaging of this file. | 9 | :`=1 )Y*s>-.-- : the terms of the GNU Library General Public |
10 | ** | 10 | .="- .-=="i, .._ License as published by the Free Software |
11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | 11 | - . .-<_> .<> Foundation; either version 2 of the License, |
12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | 12 | ._= =} : or (at your option) any later version. |
13 | ** | 13 | .%`+i> _;_. |
14 | **********************************************************************/ | 14 | .i_,=:_. -<s. This program is distributed in the hope that |
15 | + . -:. = it will be useful, but WITHOUT ANY WARRANTY; | ||
16 | : .. .:, . . . without even the implied warranty of | ||
17 | =_ + =;=|` MERCHANTABILITY or FITNESS FOR A | ||
18 | _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU | ||
19 | ..}^=.= = ; Library General Public License for more | ||
20 | ++= -. .` .: details. | ||
21 | : = ...= . :.=- | ||
22 | -. .:....=;==+<; You should have received a copy of the GNU | ||
23 | -_. . . )=. = Library General Public License along with | ||
24 | -- :-=` this library; see the file COPYING.LIB. | ||
25 | If not, write to the Free Software Foundation, | ||
26 | Inc., 59 Temple Place - Suite 330, | ||
27 | Boston, MA 02111-1307, USA. | ||
28 | |||
29 | */ | ||
15 | 30 | ||
16 | #include "omanufacturerdb.h" | 31 | #include "omanufacturerdb.h" |
17 | 32 | ||
33 | /* OPIE CORE */ | ||
34 | #include <opie2/odebug.h> | ||
35 | |||
18 | /* QT */ | 36 | /* QT */ |
19 | #include <qstring.h> | 37 | #include <qstring.h> |
20 | #include <qfile.h> | 38 | #include <qfile.h> |
21 | #include <qtextstream.h> | 39 | #include <qtextstream.h> |
22 | 40 | ||
23 | OManufacturerDB* OManufacturerDB::_instance = 0; | 41 | OManufacturerDB* OManufacturerDB::_instance = 0; |
24 | 42 | ||
25 | OManufacturerDB* OManufacturerDB::instance() | 43 | OManufacturerDB* OManufacturerDB::instance() |
26 | { | 44 | { |
27 | if ( !OManufacturerDB::_instance ) | 45 | if ( !OManufacturerDB::_instance ) |
28 | { | 46 | { |
29 | qDebug( "OManufacturerDB::instance(): creating OManufacturerDB..." ); | 47 | odebug << "OManufacturerDB::instance(): creating OManufacturerDB..." << oendl; |
30 | _instance = new OManufacturerDB(); | 48 | _instance = new OManufacturerDB(); |
31 | } | 49 | } |
32 | return _instance; | 50 | return _instance; |
33 | } | 51 | } |
34 | 52 | ||
35 | 53 | ||
36 | OManufacturerDB::OManufacturerDB() | 54 | OManufacturerDB::OManufacturerDB() |
37 | { | 55 | { |
38 | QString filename( "/etc/manufacturers" ); | 56 | QString filename( "/etc/manufacturers" ); |
39 | qDebug( "OManufacturerDB: trying to read '%s'...", (const char*) filename ); | 57 | odebug << "OManufacturerDB: trying to read " << filename << oendl; |
40 | if ( !QFile::exists( filename ) ) | 58 | if ( !QFile::exists( filename ) ) |
41 | { | 59 | { |
42 | filename = "/opt/QtPalmtop/etc/manufacturers"; | 60 | filename = "/opt/QtPalmtop/etc/manufacturers"; |
43 | qDebug( "OManufacturerDB: trying to read '%s'...", (const char*) filename ); | 61 | odebug << "OManufacturerDB: trying to read " << filename << oendl; |
44 | if ( !QFile::exists( filename ) ) | 62 | if ( !QFile::exists( filename ) ) |
45 | { | 63 | { |
46 | filename = "/usr/share/wellenreiter/manufacturers"; | 64 | filename = "/usr/share/wellenreiter/manufacturers"; |
47 | qDebug( "OManufacturerDB: trying to read '%s'...", (const char*) filename ); | 65 | odebug << "OManufacturerDB: trying to read " << filename << oendl; |
48 | } | 66 | } |
49 | } | 67 | } |
50 | 68 | ||
51 | QFile file( filename ); | 69 | QFile file( filename ); |
52 | bool hasFile = file.open( IO_ReadOnly ); | 70 | bool hasFile = file.open( IO_ReadOnly ); |
53 | if (!hasFile) | 71 | if (!hasFile) |
54 | { | 72 | { |
55 | qWarning( "OManufacturerDB: no valid manufacturer list found.", (const char*) filename ); | 73 | owarn << "OManufacturerDB: no valid manufacturer list found." << oendl; |
56 | } | 74 | } |
57 | else | 75 | else |
58 | { | 76 | { |
59 | qDebug( "OManufacturerDB: found manufacturer list in '%s'...", (const char*) filename ); | 77 | odebug << "OManufacturerDB: found manufacturer list in " << filename << oendl; |
60 | QTextStream s( &file ); | 78 | QTextStream s( &file ); |
61 | QString addr; | 79 | QString addr; |
62 | QString manu; | 80 | QString manu; |
63 | QString extManu; | 81 | QString extManu; |
64 | while (!s.atEnd()) | 82 | while (!s.atEnd()) |
65 | { | 83 | { |
66 | s >> addr; | 84 | s >> addr; |
67 | if ( !addr ) // read nothing!? | 85 | if ( !addr ) // read nothing!? |
68 | { | 86 | { |
69 | continue; | 87 | continue; |
70 | } | 88 | } |
71 | else | 89 | else |
72 | if ( addr[0] == '#' ) | 90 | if ( addr[0] == '#' ) |
73 | { | 91 | { |
74 | continue; | 92 | continue; |
75 | } | 93 | } |
76 | s.skipWhiteSpace(); | 94 | s.skipWhiteSpace(); |
77 | s >> manu; | 95 | s >> manu; |
78 | s.skipWhiteSpace(); | 96 | s.skipWhiteSpace(); |
79 | s >> extManu; | 97 | s >> extManu; |
80 | if ( extManu[0] == '#' ) // we have an extended manufacturer | 98 | if ( extManu[0] == '#' ) // we have an extended manufacturer |
81 | { | 99 | { |
82 | s.skipWhiteSpace(); | 100 | s.skipWhiteSpace(); |
83 | extManu = s.readLine(); | 101 | extManu = s.readLine(); |
84 | #ifdef DEBUG | 102 | odebug << "OManufacturerDB: read " << extManu << " as extended manufacturer string" << oendl; |
85 | qDebug( "OManufacturerDB: read '%s' as extended manufacturer string", (const char*) extManu ); | ||
86 | #endif | ||
87 | manufacturersExt.insert( addr, extManu ); | 103 | manufacturersExt.insert( addr, extManu ); |
88 | } | 104 | } |
89 | else | 105 | else |
90 | s.readLine(); | 106 | s.readLine(); |
91 | #ifdef DEBUG | 107 | odebug << "OManufacturerDB: read tuple " << addr << ", " << manu << oendl; |
92 | qDebug( "ManufacturerDB: read tuple %s, %s", (const char*) addr, (const char*) manu ); | ||
93 | #endif | ||
94 | manufacturers.insert( addr, manu ); | 108 | manufacturers.insert( addr, manu ); |
95 | |||
96 | } | 109 | } |
97 | } | 110 | } |
98 | 111 | ||
99 | } | 112 | } |
100 | 113 | ||
101 | 114 | ||
102 | OManufacturerDB::~OManufacturerDB() | 115 | OManufacturerDB::~OManufacturerDB() |
103 | { | 116 | { |
104 | } | 117 | } |
105 | 118 | ||
106 | 119 | ||
107 | const QString& OManufacturerDB::lookup( const QString& macaddr ) const | 120 | const QString& OManufacturerDB::lookup( const QString& macaddr ) const |
108 | { | 121 | { |
109 | return manufacturers[macaddr.upper().left(8)]; | 122 | return manufacturers[macaddr.upper().left(8)]; |
110 | } | 123 | } |
111 | 124 | ||
112 | 125 | ||
113 | const QString& OManufacturerDB::lookupExt( const QString& macaddr ) const | 126 | const QString& OManufacturerDB::lookupExt( const QString& macaddr ) const |
114 | { | 127 | { |
115 | QMap<QString,QString>::ConstIterator it = manufacturersExt.find( macaddr.upper().left(8) ); | 128 | QMap<QString,QString>::ConstIterator it = manufacturersExt.find( macaddr.upper().left(8) ); |
116 | return it == manufacturersExt.end() ? lookup( macaddr ) : *it; | 129 | return it == manufacturersExt.end() ? lookup( macaddr ) : *it; |
117 | } | 130 | } |
118 | 131 | ||