Rev 240 | Rev 242 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
240 | pingvin | 1 | #include "wmithread.h" |
2 | |||
3 | WmiThread::WmiThread(QObject *parent) : |
||
4 | QThread(parent) |
||
5 | { |
||
241 | pingvin | 6 | connect(&process, SIGNAL(readyReadStandardOutput()), this, SLOT(readStandartProcessOutput())); |
7 | connect(&process, SIGNAL(readyReadStandardError()), this, SLOT(readStandartProcessError())); |
||
8 | mutex.lock(); |
||
9 | stopped = false; |
||
10 | mutex.unlock(); |
||
240 | pingvin | 11 | |
12 | |||
13 | |||
14 | } |
||
15 | |||
16 | void WmiThread::run(){ |
||
17 | |||
241 | pingvin | 18 | |
19 | |||
20 | QString query_string; |
||
21 | error = false; //сбросим флаг ошибки |
||
22 | query_string = tr("wmic -U "); |
||
23 | query_string.append(user_name); |
||
24 | query_string.append(tr("%")); |
||
25 | query_string.append(password); |
||
26 | query_string.append(tr(" //")); |
||
27 | query_string.append(host); |
||
28 | query_string.append(tr(" \"")); |
||
29 | query_string.append(wmi_string); |
||
30 | query_string.append(tr("\"")); |
||
31 | process.start(query_string); |
||
32 | |||
33 | while (!stopped); |
||
34 | // exec(); |
||
240 | pingvin | 35 | } |
36 | |||
37 | void WmiThread::stop(){ |
||
38 | mutex.lock(); |
||
39 | stopped = true; |
||
40 | mutex.unlock(); |
||
41 | } |
||
42 | |||
43 | void WmiThread::readStandartProcessOutput(){ |
||
44 | p_buffer = process.readAllStandardOutput(); |
||
241 | pingvin | 45 | mutex.lock(); |
46 | stopped = true; |
||
47 | mutex.unlock(); |
||
240 | pingvin | 48 | } |
49 | |||
50 | void WmiThread::readStandartProcessError(){ |
||
51 | p_buffer = process.readAllStandardError(); |
||
241 | pingvin | 52 | error = true; // если ошибка, установим флаг ошибки выполнения WMI-запроса |
240 | pingvin | 53 | } |