summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2005-08-16 05:47:24 (UTC)
committer llornkcor <llornkcor>2005-08-16 05:47:24 (UTC)
commit373b2f0bdc2be62c6e275c74488a8921d03fc299 (patch) (unidiff)
treedc8672545848790bcbd7f79eae926f3a8a1d887f
parentcc86b6f84f753f80f40537cdc4418016ab75373e (diff)
downloadopie-373b2f0bdc2be62c6e275c74488a8921d03fc299.zip
opie-373b2f0bdc2be62c6e275c74488a8921d03fc299.tar.gz
opie-373b2f0bdc2be62c6e275c74488a8921d03fc299.tar.bz2
clarify do nothing
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/opie-smb/qsmb.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/noncore/net/opie-smb/qsmb.cpp b/noncore/net/opie-smb/qsmb.cpp
index a219c58..422b9f3 100644
--- a/noncore/net/opie-smb/qsmb.cpp
+++ b/noncore/net/opie-smb/qsmb.cpp
@@ -1,363 +1,364 @@
1#include "qsmb.h" 1#include "qsmb.h"
2#include <qpushbutton.h> 2#include <qpushbutton.h>
3#include <qpe/qpeapplication.h> 3#include <qpe/qpeapplication.h>
4 4
5#include <string.h> 5#include <string.h>
6#include <qstring.h> 6#include <qstring.h>
7#include <qstringlist.h> 7#include <qstringlist.h>
8#include <qdir.h> 8#include <qdir.h>
9#include <qfileinfo.h> 9#include <qfileinfo.h>
10 10
11#include <qpe/process.h> 11#include <qpe/process.h>
12#include <qlabel.h> 12#include <qlabel.h>
13#include <qlineedit.h> 13#include <qlineedit.h>
14#include <qcombobox.h> 14#include <qcombobox.h>
15#include <qstringlist.h> 15#include <qstringlist.h>
16#include <qcheckbox.h> 16#include <qcheckbox.h>
17#include <qtextview.h> 17#include <qtextview.h>
18#include <qmessagebox.h> 18#include <qmessagebox.h>
19#include <qtextstream.h> 19#include <qtextstream.h>
20 20
21 21
22#include <pthread.h> 22#include <pthread.h>
23#include <signal.h> 23#include <signal.h>
24#include <ctype.h> 24#include <ctype.h>
25 25
26 26
27#include <netinet/in.h> 27#include <netinet/in.h>
28#include <arpa/inet.h> 28#include <arpa/inet.h>
29 29
30#include <rpc/clnt.h> 30#include <rpc/clnt.h>
31 31
32 32
33#include <opie2/odebug.h> 33#include <opie2/odebug.h>
34using namespace Opie::Core; 34using namespace Opie::Core;
35 35
36 36
37Qsmb::Qsmb( QWidget* parent, const char* name, WFlags fl ) 37Qsmb::Qsmb( QWidget* parent, const char* name, WFlags fl )
38 : FormQPESMBBase( parent, name, fl ) 38 : FormQPESMBBase( parent, name, fl )
39{ 39{
40 connect(CBHost, SIGNAL(activated(int)), this, SLOT(hostSelected(int))); 40 connect(CBHost, SIGNAL(activated(int)), this, SLOT(hostSelected(int)));
41 connect(DoItBtn, SIGNAL(clicked()), this, SLOT(DoItClicked())); 41 connect(DoItBtn, SIGNAL(clicked()), this, SLOT(DoItClicked()));
42 connect(BtnScan, SIGNAL(clicked()), this, SLOT(scanClicked())); 42 connect(BtnScan, SIGNAL(clicked()), this, SLOT(scanClicked()));
43 connect(BtnClear, SIGNAL(clicked()), this, SLOT(clear())); 43 connect(BtnClear, SIGNAL(clicked()), this, SLOT(clear()));
44 44
45 mountpt->insertItem("/mnt/samba1",-1); 45 mountpt->insertItem("/mnt/samba1",-1);
46 mountpt->insertItem("/mnt/samba2",-1); 46 mountpt->insertItem("/mnt/samba2",-1);
47 mountpt->insertItem("/mnt/samba3",-1); 47 mountpt->insertItem("/mnt/samba3",-1);
48 48
49 top_element = NULL; 49 top_element = NULL;
50 scanning = false; 50 scanning = false;
51} 51}
52 52
53Qsmb::~Qsmb() 53Qsmb::~Qsmb()
54{ 54{
55} 55}
56 56
57void Qsmb::clear() 57void Qsmb::clear()
58{ 58{
59 if (scanning) return; 59 if (scanning) return;
60 ListViewScan->clear(); 60 ListViewScan->clear();
61 TextViewOutput->setText(""); 61 TextViewOutput->setText("");
62 top_element = NULL; 62 top_element = NULL;
63} 63}
64 64
65void Qsmb::scanClicked() 65void Qsmb::scanClicked()
66{ 66{
67 if (scanning) return; 67 if (scanning) return;
68 pthread_create(&tpid, NULL, runit, (void *)this); 68 pthread_create(&tpid, NULL, runit, (void *)this);
69} 69}
70 70
71void Qsmb::DoItClicked() 71void Qsmb::DoItClicked()
72{ 72{
73 73
74 if(! ListViewScan->selectedItem()) { 74 if(! ListViewScan->selectedItem()) {
75 QMessageBox::warning(this, tr("Error"),tr("<p>No share selected!</p>")); 75 QMessageBox::warning(this, tr("Error"),tr("<p>No share selected!</p>"));
76 return; 76 return;
77 } 77 }
78 if (scanning) return; 78 if (scanning) return;
79 pthread_create(&tpid, NULL, runitm, (void *)this); 79 pthread_create(&tpid, NULL, runitm, (void *)this);
80} 80}
81 81
82void* runit(void* arg) 82void* runit(void* arg)
83{ 83{
84 Qsmb* caller = (Qsmb*)arg; 84 Qsmb* caller = (Qsmb*)arg;
85 caller->scan(); 85 caller->scan();
86 return(0); 86 return(0);
87} 87}
88 88
89void* runitm(void* arg) 89void* runitm(void* arg)
90{ 90{
91 Qsmb* caller = (Qsmb*)arg; 91 Qsmb* caller = (Qsmb*)arg;
92 caller->DoIt(); 92 caller->DoIt();
93 return(0); 93 return(0);
94} 94}
95 95
96void Qsmb::scan() 96void Qsmb::scan()
97{ 97{
98// int i; 98// int i;
99 99
100 if (scanning) return; 100 if (scanning) return;
101 scanning = true; 101 scanning = true;
102 102
103 QString match; 103 QString match;
104 QString cmd; 104 QString cmd;
105 LScan->setText("Scanning..."); 105 LScan->setText("Scanning...");
106 qApp->processEvents(); 106 qApp->processEvents();
107 107
108 sockaddr_in my_addr; 108 sockaddr_in my_addr;
109 get_myaddress( &my_addr); 109 get_myaddress( &my_addr);
110 110
111 QString ip = inet_ntoa( my_addr.sin_addr); 111 QString ip = inet_ntoa( my_addr.sin_addr);
112 owarn << "IP Address : " << ip<< oendl; 112 owarn << "IP Address : " << ip<< oendl;
113 113
114 match = ip.left(5); 114 match = ip.left(5);
115 115
116 QStringList ccmd; 116 QStringList ccmd;
117 TextViewOutput->append("smbfind"); 117 TextViewOutput->append("smbfind");
118 118
119 QFile lmhosts("/etc/samba/lmhosts"); 119 QFile lmhosts("/etc/samba/lmhosts");
120 QTextStream lms(&lmhosts); 120 QTextStream lms(&lmhosts);
121 lmhosts.open(IO_WriteOnly); 121 lmhosts.open(IO_WriteOnly);
122 lms << "127.0.0.1 localhost\n"; 122 lms << "127.0.0.1 localhost\n";
123 123
124 /* parse output and display in ListViewScan */ 124 /* parse output and display in ListViewScan */
125 ccmd = "smbfind"; 125 ccmd = "smbfind";
126 runCommand(ccmd); 126 runCommand(ccmd);
127 127
128 QTextStream s(&out, IO_ReadOnly); 128 QTextStream s(&out, IO_ReadOnly);
129 129
130 while ( !s.atEnd() ) { 130 while ( !s.atEnd() ) {
131 QString ip_addr, host, output; 131 QString ip_addr, host, output;
132 QString tmp = s.readLine(); 132 QString tmp = s.readLine();
133 bool ok; 133 bool ok;
134 tmp.left(1).toInt( &ok, 10 ); 134 tmp.left(1).toInt( &ok, 10 );
135 if(ok) { 135 if(ok) {
136 QStringList token = QStringList::split(' ', tmp ); 136 QStringList token = QStringList::split(' ', tmp );
137 ip_addr = token[0]; 137 ip_addr = token[0];
138 host = token[1]; 138 host = token[1];
139 CBHost->insertItem( host, -1); 139 CBHost->insertItem( host, -1);
140 lms << ip_addr+" "+host+"\n"; 140 lms << ip_addr+" "+host+"\n";
141 } 141 }
142 } 142 }
143 lmhosts.close(); 143 lmhosts.close();
144 144
145 TextViewOutput->append("\n\n============================================\n"); 145 TextViewOutput->append("\n\n============================================\n");
146 LScan->setText(""); 146 LScan->setText("");
147 scanning = false; 147 scanning = false;
148} 148}
149 149
150void Qsmb::hostSelected(int index) 150void Qsmb::hostSelected(int index)
151{ 151{
152 owarn << "hostSelected" << oendl; 152 owarn << "hostSelected" << oendl;
153 QListViewItem *element; 153 QListViewItem *element;
154 QListViewItem *parent; 154 QListViewItem *parent;
155 155
156 QString text = CBHost->currentText(); 156 QString text = CBHost->currentText();
157 157
158 if (scanning) return; 158 if (scanning) return;
159 scanning = true; 159 scanning = true;
160 160
161 QString cmd; 161 QString cmd;
162 QStringList ccmd; 162 QStringList ccmd;
163 163
164 LScan->setText("Scanning..."); 164 LScan->setText("Scanning...");
165 165
166 ccmd << "/usr/bin/smbclient"; 166 ccmd << "/usr/bin/smbclient";
167 ccmd << "-L"; 167 ccmd << "-L";
168 ccmd << CBHost->currentText(); 168 ccmd << CBHost->currentText();
169 ccmd << "-N"; 169 ccmd << "-N";
170 170
171 if(!username->text().isEmpty()) { 171 if(username->text().isEmpty()) {
172 //do nothing
172 } else { 173 } else {
173 ccmd << "-U"; 174 ccmd << "-U";
174 ccmd << username->text()+"\%"+ password->text(); 175 ccmd << username->text()+"\%"+ password->text();
175 } 176 }
176 runCommand(ccmd); 177 runCommand(ccmd);
177 QTextStream s(&out, IO_ReadOnly); 178 QTextStream s(&out, IO_ReadOnly);
178 179
179 while ( !s.atEnd() ) { 180 while ( !s.atEnd() ) {
180 QString share; 181 QString share;
181 QString comment; 182 QString comment;
182 QString tmp = s.readLine(); 183 QString tmp = s.readLine();
183 184
184 if( tmp.find("$") == -1 && tmp.find("Disk") != -1) { 185 if( tmp.find("$") == -1 && tmp.find("Disk") != -1) {
185 QStringList token = QStringList::split(' ', tmp ); 186 QStringList token = QStringList::split(' ', tmp );
186 share = token[0]; 187 share = token[0];
187 comment = token[2]; 188 comment = token[2];
188 element = new QListViewItem(ListViewScan,share, comment); 189 element = new QListViewItem(ListViewScan,share, comment);
189 element->setOpen(true); 190 element->setOpen(true);
190// top_element = element; 191// top_element = element;
191// parent = element; 192// parent = element;
192 } 193 }
193 194
194 } 195 }
195// owarn << "i="<< index << "cmd:" << cmd << oendl; 196// owarn << "i="<< index << "cmd:" << cmd << oendl;
196 197
197 TextViewOutput->append(cmd); 198 TextViewOutput->append(cmd);
198 199
199 /* run smbclient & read output */ 200 /* run smbclient & read output */
200// if ((pipe = popen(cmd.latin1(), "r")) == NULL) { 201// if ((pipe = popen(cmd.latin1(), "r")) == NULL) {
201// snprintf(result, 256, "Error: Can't run %s", cmd.latin1()); 202// snprintf(result, 256, "Error: Can't run %s", cmd.latin1());
202// // cmd = "Error: Can't run "+cmd; 203// // cmd = "Error: Can't run "+cmd;
203// TextViewOutput->append(result); 204// TextViewOutput->append(result);
204// return; 205// return;
205// } 206// }
206 207
207 /* parse output and display in ListViewScan */ 208 /* parse output and display in ListViewScan */
208// while(fgets(result, 256, pipe) != NULL) { 209// while(fgets(result, 256, pipe) != NULL) {
209// /* put result into TextViewOutput */ 210// /* put result into TextViewOutput */
210// TextViewOutput->append(result); 211// TextViewOutput->append(result);
211 212
212// if( strchr(result, '$') == NULL ) { 213// if( strchr(result, '$') == NULL ) {
213// char share[256], *ptr1; 214// char share[256], *ptr1;
214 215
215// strcpy(share,result); 216// strcpy(share,result);
216// ptr1 = strchr(share,' '); 217// ptr1 = strchr(share,' ');
217// share[ptr1 - share]='\0'; 218// share[ptr1 - share]='\0';
218 219
219// owarn<< "add share: " << share << oendl; 220// owarn<< "add share: " << share << oendl;
220 221
221// if(top_element != NULL) { 222// if(top_element != NULL) {
222// bool found = false; 223// bool found = false;
223// element = top_element; 224// element = top_element;
224 225
225// while(element != NULL && !found) { 226// while(element != NULL && !found) {
226// if(strcmp( element->text(0).ascii(), share)==0) { 227// if(strcmp( element->text(0).ascii(), share)==0) {
227// parent = element; 228// parent = element;
228// found = true; 229// found = true;
229// } 230// }
230// element = element->nextSibling(); 231// element = element->nextSibling();
231// } 232// }
232 233
233// if(!found) { 234// if(!found) {
234// element = new QListViewItem(ListViewScan,share); 235// element = new QListViewItem(ListViewScan,share);
235// element->setOpen(true); 236// element->setOpen(true);
236// parent=element; 237// parent=element;
237// } 238// }
238// } else { 239// } else {
239// element = new QListViewItem(ListViewScan,share); 240// element = new QListViewItem(ListViewScan,share);
240// element->setOpen(true); 241// element->setOpen(true);
241// top_element = element; 242// top_element = element;
242// parent = element; 243// parent = element;
243// } 244// }
244// } 245// }
245// } 246// }
246 247
247 TextViewOutput->append("\n\n============================================\n"); 248 TextViewOutput->append("\n\n============================================\n");
248 LScan->setText(""); 249 LScan->setText("");
249 scanning = false; 250 scanning = false;
250} 251}
251 252
252void Qsmb::DoIt() 253void Qsmb::DoIt()
253{ 254{
254 QListViewItem *element; 255 QListViewItem *element;
255 element = ListViewScan->selectedItem(); 256 element = ListViewScan->selectedItem();
256 if(!element) { 257 if(!element) {
257 QMessageBox::warning(this, tr("Error!!"),tr("<p><b>No</b> share selected!!</p>")); 258 QMessageBox::warning(this, tr("Error!!"),tr("<p><b>No</b> share selected!!</p>"));
258 return; 259 return;
259 } 260 }
260 261
261 if (scanning) return; 262 if (scanning) return;
262 scanning = true; 263 scanning = true;
263 264
264 int i; 265 int i;
265 bool err = false; 266 bool err = false;
266 267
267 char share[512]; 268 char share[512];
268 QString cmd; 269 QString cmd;
269 QString cmd2; 270 QString cmd2;
270 char result[256]; 271 char result[256];
271// QString result; 272// QString result;
272 QString text = mountpt->currentText(); 273 QString text = mountpt->currentText();
273 274
274 FILE *pipe,*pipe2; 275 FILE *pipe,*pipe2;
275 276
276 LScan->setText("Mounting..."); 277 LScan->setText("Mounting...");
277 qApp->processEvents(); 278 qApp->processEvents();
278 279
279 280
280 if(! QFileInfo(text).exists()) { 281 if(! QFileInfo(text).exists()) {
281 QStringList ccmd; 282 QStringList ccmd;
282 ccmd << "mkdir"; 283 ccmd << "mkdir";
283 ccmd << "-p"; 284 ccmd << "-p";
284 ccmd << text; 285 ccmd << text;
285 286
286 owarn<<"cmd: "<< ccmd << oendl; 287 owarn<<"cmd: "<< ccmd << oendl;
287 runCommand(ccmd); 288 runCommand(ccmd);
288 } 289 }
289 290
290 291
291 strcpy(share,(const char *)element->text(0)); 292 strcpy(share,(const char *)element->text(0));
292 293
293 for(i = 0; i < 256; i++) { 294 for(i = 0; i < 256; i++) {
294 if(isalpha( share[i])) { 295 if(isalpha( share[i])) {
295 strcpy( share, share + i); 296 strcpy( share, share + i);
296 break; 297 break;
297 } 298 }
298 } 299 }
299 300
300 cmd = "/usr/bin/smbmount //"+CBHost->currentText()+"/"+share+" "+mountpt->currentText()+" -o username="+username->text()+",password="+password->text(); 301 cmd = "/usr/bin/smbmount //"+CBHost->currentText()+"/"+share+" "+mountpt->currentText()+" -o username="+username->text()+",password="+password->text();
301 302
302 owarn << "cmd: " << cmd << oendl; 303 owarn << "cmd: " << cmd << oendl;
303 TextViewOutput->append(cmd.latin1()); 304 TextViewOutput->append(cmd.latin1());
304 305
305 306
306 if(onbootBtn->isChecked()) { 307 if(onbootBtn->isChecked()) {
307 owarn << "Saving Setting permanently..." << oendl; 308 owarn << "Saving Setting permanently..." << oendl;
308 cmd2 = "echo '" + cmd + "'>/opt/QtPalmtop/etc/samba.env"; 309 cmd2 = "echo '" + cmd + "'>/opt/QtPalmtop/etc/samba.env";
309 /* run command & read output */ 310 /* run command & read output */
310 if ((pipe = popen(cmd2.latin1(), "r")) == NULL) { 311 if ((pipe = popen(cmd2.latin1(), "r")) == NULL) {
311 snprintf(result, 256, "Error: Can't run %s", cmd.latin1()); 312 snprintf(result, 256, "Error: Can't run %s", cmd.latin1());
312 return; 313 return;
313 } 314 }
314 /* parse output and display in ListViewScan */ 315 /* parse output and display in ListViewScan */
315 while(fgets(result, 256, pipe) != NULL) { 316 while(fgets(result, 256, pipe) != NULL) {
316 } 317 }
317 } 318 }
318 319
319 320
320 /* run command & read output */ 321 /* run command & read output */
321 if ((pipe = popen(cmd.latin1(), "r")) == NULL) { 322 if ((pipe = popen(cmd.latin1(), "r")) == NULL) {
322 snprintf(result, 256, "Error: Can't run %s", cmd.latin1()); 323 snprintf(result, 256, "Error: Can't run %s", cmd.latin1());
323 TextViewOutput->append(result); 324 TextViewOutput->append(result);
324 return; 325 return;
325 } 326 }
326 327
327 /* parse output and display in ListViewScan */ 328 /* parse output and display in ListViewScan */
328 while(fgets(result, 256, pipe) != NULL) { 329 while(fgets(result, 256, pipe) != NULL) {
329 /* put result into TextViewOutput */ 330 /* put result into TextViewOutput */
330 TextViewOutput->append(result); 331 TextViewOutput->append(result);
331 } 332 }
332 333
333 334
334 TextViewOutput->append("\n\n================CheckMounts==================\n"); 335 TextViewOutput->append("\n\n================CheckMounts==================\n");
335 LScan->setText(""); 336 LScan->setText("");
336 337
337 cmd = "/bin/mount 2>&1"; 338 cmd = "/bin/mount 2>&1";
338 owarn << "cmd: " << cmd << oendl; 339 owarn << "cmd: " << cmd << oendl;
339 340
340 if ((pipe2 = popen(cmd.latin1(), "r")) == NULL) { 341 if ((pipe2 = popen(cmd.latin1(), "r")) == NULL) {
341 342
342 snprintf(result, 256, "Error: Can't run %s", cmd.latin1()); 343 snprintf(result, 256, "Error: Can't run %s", cmd.latin1());
343// result = "Error: Can't run "+ cmd; 344// result = "Error: Can't run "+ cmd;
344 345
345 TextViewOutput->append(result); 346 TextViewOutput->append(result);
346 return; 347 return;
347 } 348 }
348 /* parse output and display in ListViewScan */ 349 /* parse output and display in ListViewScan */
349 while(fgets(result, 256, pipe2) != NULL) { 350 while(fgets(result, 256, pipe2) != NULL) {
350 /* put result into TextViewOutput */ 351 /* put result into TextViewOutput */
351 TextViewOutput->append(result); 352 TextViewOutput->append(result);
352 } 353 }
353 354
354 TextViewOutput->append("\n\n============================================\n"); 355 TextViewOutput->append("\n\n============================================\n");
355 scanning = false; 356 scanning = false;
356} 357}
357 358
358bool Qsmb::runCommand(const QStringList & command) { 359bool Qsmb::runCommand(const QStringList & command) {
359 owarn << "runCommand " << command.join(" ") << oendl; 360 owarn << "runCommand " << command.join(" ") << oendl;
360 out = ""; 361 out = "";
361 Process ipkg_status( command); 362 Process ipkg_status( command);
362 bool r = ipkg_status.exec("",out); 363 bool r = ipkg_status.exec("",out);
363 364