The regexp was not correct.
[kdenetwork.git] / wifi / interface_wireless.cpp
blob5ece6301089a1c937ef1bcc4ea90b1556348176d
1 /***************************************************************************
2 stuff.cpp - description
3 -------------------
4 begin : Sun May 6 2001
5 copyright : (C) 2001 by Stefan Winter
6 email : mail@stefan-winter.de
7 ***************************************************************************/
9 /***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
18 #include "interface_wireless.h"
19 #include <qdir.h>
20 #include <qfile.h>
21 #include <qstringlist.h>
23 #ifndef WITHOUT_ARTS
24 #include <arts/artsflow.h>
25 #include <arts/connect.h>
26 #include <arts/iomanager.h>
27 #include <arts/referenceclean.h>
28 #endif // WITHOUT_ARTS
30 #include <iostream>
31 #include <string>
32 #include <klocale.h>
33 #include <kprocio.h>
34 #include <kdebug.h>
35 #include <qstring.h>
36 #include <arpa/inet.h>
38 Interface_wireless::Interface_wireless (QStringList * ignoreInterfaces)
40 this->ignoreInterfaces = ignoreInterfaces;
41 has_frequency = false;
42 frequency = 0.;
43 has_mode = false;
44 mode = 0;
45 has_key = 0;
46 key = "";
47 key_size = 0;
48 key_flags = 0;
49 essid = "";
50 access_point_address = "";
51 ip_address = "";
52 bitrate = 0.;
53 socket = -1;
54 has_range = false;
55 for (int i = 0; i < MAX_HISTORY; i++)
57 sigLevel[i] = -255;
58 noiseLevel[i] = -255;
59 qual[i] = -255;
60 valid[i] = false;
62 current = 0;
63 sigLevelMin = 32000;
64 noiseLevelMin = 32000;
65 sigLevelMax = -32000;
66 noiseLevelMax = -32000;
68 already_warned = false;
71 bool Interface_wireless::get_device_freq (double &freq)
73 if (has_frequency)
75 freq = frequency;
76 return true;
78 else
80 return false;
84 bool Interface_wireless::get_mode (int &ext_mode)
86 if (has_mode)
88 ext_mode = mode;
89 return true;
91 else
93 return false;
97 bool Interface_wireless::get_key (QString & ext_key,
98 int &ext_size,
99 int &ext_flags)
101 if (has_key)
103 ext_key = key;
104 ext_size = key_size;
105 ext_flags = key_flags;
106 return true;
108 else
110 return false;
114 QString Interface_wireless::get_essid ()
116 return essid;
119 bool Interface_wireless::get_has_txpower()
121 return has_txpower;
124 int Interface_wireless::get_txpower_disabled()
126 return txpower_disabled;
129 bool Interface_wireless::get_AP_info (QString & mac, QString &/*ip*/)
131 mac = access_point_address;
132 return false;
135 QString Interface_wireless::get_IP_info ()
137 return ip_address;
140 double Interface_wireless::get_bitrate ()
142 return bitrate;
145 QString Interface_wireless::get_interface_name ()
147 return interface_name;
150 bool Interface_wireless::get_current_quality (int &sig,
151 int &noi,
152 int &qua)
154 if (valid[current])
156 sig = sigLevel[current];
157 noi = noiseLevel[current];
158 qua = qual[current];
159 return true;
161 else
162 return false;
165 #ifndef WITHOUT_ARTS
167 void
168 sinus_wave (double frequency)
170 using namespace Arts;
171 StdIOManager *limiter = new StdIOManager;
172 Dispatcher dispatcher (limiter);
173 MyTimeNotify *zeit = new MyTimeNotify (&dispatcher);
174 Synth_FREQUENCY freq;
175 Synth_WAVE_SIN sin;
176 Synth_PLAY play;
177 setValue (freq, frequency);
178 connect (freq, sin);
179 connect (sin, play, "invalue_left");
180 freq.start ();
181 sin.start ();
182 play.start ();
183 limiter->addTimer (240, zeit);
184 dispatcher.run ();
185 play.stop ();
186 sin.stop ();
187 freq.stop ();
190 void
191 MyTimeNotify::notifyTime ()
193 test->terminate ();
196 #endif
198 QString
199 whois (const char *MAC_ADR, QStringList APList)
201 for (QStringList::Iterator it = APList.begin (); it != APList.end ();
202 (it++)++)
204 if ((*it) == (QString) MAC_ADR)
205 return *(++it);
207 return i18n ("UNKNOWN");
210 #include "interface_wireless.moc"