summaryrefslogtreecommitdiff
path: root/noncore/net/wellenreiter/gui/wellenreiter.cpp
Unidiff
Diffstat (limited to 'noncore/net/wellenreiter/gui/wellenreiter.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/wellenreiter/gui/wellenreiter.cpp34
1 files changed, 20 insertions, 14 deletions
diff --git a/noncore/net/wellenreiter/gui/wellenreiter.cpp b/noncore/net/wellenreiter/gui/wellenreiter.cpp
index 693f20d..11cdaef 100644
--- a/noncore/net/wellenreiter/gui/wellenreiter.cpp
+++ b/noncore/net/wellenreiter/gui/wellenreiter.cpp
@@ -40,63 +40,69 @@ Wellenreiter::Wellenreiter( QWidget* parent, const char* name, WFlags fl )
40 40
41 // 41 //
42 // setup socket for daemon communication and start poller 42 // setup socket for daemon communication and start poller
43 // 43 //
44 44
45 daemon_fd = commsock( GUIADDR, GUIPORT ); 45 daemon_fd = commsock( GUIADDR, GUIPORT );
46 if ( daemon_fd == -1 ) 46 if ( daemon_fd == -1 )
47 qDebug( "D'oh! Could not get file descriptor for daemon-->gui communication socket." ); 47 qDebug( "D'oh! Could not get file descriptor for daemon-->gui communication socket." );
48 //else 48 else
49 //startTimer( 700 ); 49 startTimer( 700 );
50 50
51} 51}
52 52
53Wellenreiter::~Wellenreiter() 53Wellenreiter::~Wellenreiter()
54{ 54{
55 // no need to delete child widgets, Qt does it all for us 55 // no need to delete child widgets, Qt does it all for us
56} 56}
57 57
58void Wellenreiter::handleMessage() 58void Wellenreiter::handleMessage()
59{ 59{
60 // FIXME: receive message and handle it 60 // FIXME: receive message and handle it
61 61
62 qDebug( "received message from daemon." ); 62 qDebug( "received message from daemon." );
63 63
64 char buffer[128]; 64 char buffer[128];
65 65
66 int result = recvcomm( &daemon_fd, (char*) &buffer, sizeof(buffer) ); 66 int result = recvcomm( &daemon_fd, (char*) &buffer, sizeof(buffer) );
67 qDebug( "received %d from recvcomm", result ); 67 qDebug( "received %d from recvcomm", result );
68 68
69/* 69/*
70typedef struct { 70typedef struct {
71 int net_type; 1 = Accesspoint ; 2 = Ad-Hoc 71 int net_type; 1 = Accesspoint ; 2 = Ad-Hoc
72 int ssid_len; Length of SSID 72 int ssid_len; Length of SSID
73 int channel; Channel 73 int channel; Channel
74 int wep; 1 = WEP enabled ; 0 = disabled 74 int wep; 1 = WEP enabled ; 0 = disabled
75 char mac[64]; MAC address of Accesspoint 75 char mac[64]; MAC address of Accesspoint
76 char bssid[128]; BSSID of Accesspoint 76 char bssid[128]; BSSID of Accesspoint
77} wl_network_t; 77} wl_network_t;
78*/ 78*/
79 79
80 qDebug( "Sniffer sent: '%s'", buffer );
81
80 if ( result == NETFOUND ) /* new network found */ 82 if ( result == NETFOUND ) /* new network found */
81 { 83 {
82 qDebug( "Sniffer said: new network found." ); 84 qDebug( "Sniffer said: new network found." );
83 wl_network_t n; 85 wl_network_t n;
84 get_network_found( &n, (char*) &buffer ); 86 get_network_found( &n, (char*) &buffer );
85 n.bssid[n.ssid_len] = "\0"; 87
88 qDebug( "Sniffer said: net_type is %d.", n.net_type );
89 qDebug( "Sniffer said: MAC is %s", (const char*) &n.mac );
90
91 //n.bssid[n.ssid_len] = "\0";
86 92
87 QString type; 93 QString type;
88 94
89 if ( n.net_type == 1 ) 95 if ( n.net_type == 1 )
90 type == "managed"; 96 type = "managed";
91 else 97 else
92 type == "adhoc"; 98 type = "adhoc";
93 99
94 addNewItem( type, n.bssid, n.mac, n.wep, n.channel, 0 ); 100 addNewItem( type, n.bssid, QString( (const char*) &n.mac ), n.wep, n.channel, 0 );
95 101
96 } 102 }
97 103
98 else 104 else
99 105
100 { 106 {
101 qDebug( "unknown sniffer command." ); 107 qDebug( "unknown sniffer command." );
102 } 108 }
@@ -109,56 +115,56 @@ bool Wellenreiter::hasMessage()
109 115
110 // FIXME: do this in libwellenreiter, not here!!! 116 // FIXME: do this in libwellenreiter, not here!!!
111 117
112 fd_set rfds; 118 fd_set rfds;
113 FD_ZERO( &rfds ); 119 FD_ZERO( &rfds );
114 FD_SET( daemon_fd, &rfds ); 120 FD_SET( daemon_fd, &rfds );
115 struct timeval tv; 121 struct timeval tv;
116 tv.tv_sec = 0; 122 tv.tv_sec = 0;
117 tv.tv_usec = 0; 123 tv.tv_usec = 10;
118 int result = select( daemon_fd+1, &rfds, NULL, NULL, &tv ); 124 int result = select( daemon_fd+1, &rfds, NULL, NULL, &tv );
119 return FD_ISSET( daemon_fd, &rfds ); 125 return FD_ISSET( daemon_fd, &rfds );
120} 126}
121 127
122void Wellenreiter::timerEvent( QTimerEvent* e ) 128void Wellenreiter::timerEvent( QTimerEvent* e )
123{ 129{
124 //qDebug( "checking for message..." ); 130 qDebug( "checking for message..." );
125 131
126 if ( hasMessage() ) 132 if ( hasMessage() )
127 { 133 {
128 handleMessage(); 134 handleMessage();
129 } 135 }
130 else 136 else
131 { 137 {
132 //qDebug( "no message :(" ); 138 qDebug( "no message :(" );
133 } 139 }
134} 140}
135 141
136void Wellenreiter::addNewItem( QString type, QString essid, QString ap, bool wep, int channel, int signal ) 142void Wellenreiter::addNewItem( QString type, QString essid, QString macaddr, bool wep, int channel, int signal )
137{ 143{
138 // FIXME: this code belongs in customized QListView, not into this class 144 // FIXME: this code belongs in customized QListView, not into this class
139 145
140 // search, if we had an item with this essid once before 146 // search, if we had an item with this essid once before
141 147
142 QListViewItem* item = netview->firstChild(); 148 QListViewItem* item = netview->firstChild();
143 149
144 while ( item && ( item->text( 0 ) != essid ) ) 150 while ( item && ( item->text( 0 ) != essid ) )
145 { 151 {
146 qDebug( "itemtext: %s", (const char*) item->text( 0 ) ); 152 qDebug( "itemtext: %s", (const char*) item->text( 0 ) );
147 item = item->itemBelow(); 153 item = item->itemBelow();
148 } 154 }
149 if ( item ) 155 if ( item )
150 { 156 {
151 qDebug( "found!" ); 157 qDebug( "found!" );
152 new MScanListItem( item, type, essid, ap, wep, channel, signal ); 158 new MScanListItem( item, type, essid, macaddr, wep, channel, signal );
153 } 159 }
154 else 160 else
155 { 161 {
156 new MScanListItem( netview, type, essid, ap, wep, channel, signal ); 162 new MScanListItem( netview, type, essid, macaddr, wep, channel, signal );
157 } 163 }
158} 164}
159 165
160void Wellenreiter::buttonClicked() 166void Wellenreiter::buttonClicked()
161{ 167{
162 168
163 // FIXME: communicate with daemon and set button text according to state 169 // FIXME: communicate with daemon and set button text according to state
164 170