Хранилища Subversion OpenInventory

Редакция

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

#ifndef WMITHREAD_H
#define WMITHREAD_H

#include <QThread>
#include <QProcess>
#include <QMutex>
#include <QDebug>
#include <QEventLoop>
#include "woker.h"

class WmiThread : public QThread
{
    Q_OBJECT
public:
    explicit WmiThread(QObject *parent = 0);
    void run();
    void stop();
    void setHost(QString new_host){host = new_host;}
    void setUser(QString new_user){user_name = new_user;}
    void setPassword(QString new_password){password = new_password;}
    QByteArray buffer(){return p_buffer;}
    void clearBuffer(){p_buffer.clear();}
    bool isError(){return error;}
    bool isStopped(){
        mutex.lock();
        return stopped;
        mutex.unlock();

                        }
    void setWmiString(QString new_wmi_string){wmi_string = new_wmi_string;}
    QString resultString(){
                            QTextCodec *codec = QTextCodec::codecForName("cp1251");
                            QTextCodec *codecUTF = QTextCodec::codecForName("utf8");
                            QTextCodec::setCodecForTr(codecUTF);
                            return QString(tr(p_buffer));
                            QTextCodec::setCodecForTr(codec);
                            }
volatile bool stopped;
private:

    volatile bool error;

   QProcess process;
    QString host;
    QString user_name;
    QString password;
    QMutex mutex;
    QByteArray p_buffer; //çäåñü áóäåì õðàíèòü äàííûå, ñ÷èòàííûå èç ñòàíäàðòíîãî ïîòîêà äëÿ ÷òåíèÿ (ïðîöåññà)
    QString wmi_string;  //çäåñü áóäåì õðàíèòü wmi-çàïðîñ

signals:

public slots:
    void readStandartProcessOutput();
    void readStandartProcessError();
    void wokerIsStopped();

private slots:



};

#endif // WMITHREAD_H