Хранилища Subversion OpenInventory

Редакция

Редакция 250 | К новейшей редакции | Содержимое файла | Сравнить с предыдущей | Последнее изменение | Открыть журнал | RSS

Редакция Автор № строки Строка
239 pingvin 1
#ifndef WMITHREAD_H
2
#define WMITHREAD_H
3
 
4
#include <QThread>
5
#include <QProcess>
6
#include <QMutex>
242 pingvin 7
#include <QDebug>
243 pingvin 8
#include <QEventLoop>
9
#include "woker.h"
239 pingvin 10
 
11
class WmiThread : public QThread
12
{
13
    Q_OBJECT
14
public:
15
    explicit WmiThread(QObject *parent = 0);
16
    void run();
17
    void stop();
18
    void setHost(QString new_host){host = new_host;}
19
    void setUser(QString new_user){user_name = new_user;}
20
    void setPassword(QString new_password){password = new_password;}
21
    QByteArray buffer(){return p_buffer;}
22
    void clearBuffer(){p_buffer.clear();}
241 pingvin 23
    bool isError(){return error;}
242 pingvin 24
    bool isStopped(){
25
        mutex.lock();
26
        return stopped;
27
        mutex.unlock();
28
 
248 pingvin 29
                        }
241 pingvin 30
    void setWmiString(QString new_wmi_string){wmi_string = new_wmi_string;}
248 pingvin 31
    QString resultString(){
250 pingvin 32
 
255 pingvin 33
        QTextCodec *codec = QTextCodec::codecForName("cp1251");
34
        QTextCodec *codecUTF = QTextCodec::codecForName("utf8");
35
        QTextCodec::setCodecForTr(codecUTF);
36
        QString tmp_str;
37
        tmp_str = tr(p_buffer);
38
        QTextCodec::setCodecForTr(codec);
39
        //  return QString(tr(p_buffer));
40
        return tmp_str;
248 pingvin 41
                            }
243 pingvin 42
volatile bool stopped;
239 pingvin 43
private:
243 pingvin 44
 
239 pingvin 45
    volatile bool error;
243 pingvin 46
 
242 pingvin 47
   QProcess process;
239 pingvin 48
    QString host;
49
    QString user_name;
50
    QString password;
51
    QMutex mutex;
52
    QByteArray p_buffer; //   ,       ()
241 pingvin 53
    QString wmi_string;  //   wmi-
239 pingvin 54
 
55
signals:
56
 
57
public slots:
241 pingvin 58
    void readStandartProcessOutput();
59
    void readStandartProcessError();
250 pingvin 60
 //   void wokerIsStopped();
239 pingvin 61
 
62
private slots:
63
 
64
 
241 pingvin 65
 
239 pingvin 66
};
67
 
68
#endif // WMITHREAD_H