Хранилища Subversion OpenInventory

Сравнить редакции

Не учитывать пробелы Редакция 254 → Редакция 255

/trunk/DBViewer/mainwindow.cpp
2087,3 → 2087,187
}
 
 
QList<TWmiHDD> MainWindow::getWmiHDD(QString host, QString user_name, QString password)
{
QList<TWmiHDD> result;
TWmiHDD hdd_tmp;
bool ok;
QString ansver_string;
 
QList<ThddSerialNumber> serNum_list;
serNum_list = MainWindow::getHDDSerNum(host, user_name, password); // îïðåäåëÿåì ñåðèéíûå íîìåðà äèñêîâ
 
 
 
 
wmiThread.setHost(host); // çàäàåì õîñò
wmiThread.setUser(user_name);//çàäàåì èìÿ ïîëüçîâàòåëÿ
wmiThread.setPassword( password);
wmiThread.setWmiString(tr("SELECT Caption, Manufacturer, Size, DeviceID from Win32_DiskDrive"));
wmiThread.start(QThread::NormalPriority);
ok = wmiThread.wait(10000);
 
 
if (ok){
QTextDocument * wmiDoc = ui->textEdit_2->document();
QTextCursor * wmiCursor;
QStringList split_new_line; //
QStringList fields_list; //â ýòîì ñïèñêå ñîõðàíèì ïîëÿ
QStringList values_list; //à â ýòîì ñïèñêå - çíà÷åíèÿ
wmiCursor = new QTextCursor(wmiDoc);
 
 
ansver_string = wmiThread.resultString();
 
 
wmiCursor->insertText(ansver_string);
split_new_line = ansver_string.split("\n", QString::SkipEmptyParts); // ðàçáèâàåíì îòâåò íà ñòðîêè
if(split_new_line.count()>2) {
QString tmp_str;
tmp_str = split_new_line.at(1);
fields_list = tmp_str.split("|");
 
for(int i=2; i< split_new_line.count(); i++)
{
hdd_tmp.caption = "";
hdd_tmp.deviceID="";
hdd_tmp.manufacturer="";
hdd_tmp.serialNumber="";
hdd_tmp.size=0;
tmp_str = split_new_line.at(i);
values_list = tmp_str.split("|");
int index_tmp;
index_tmp = fields_list.indexOf(tr("Caption")); // íàçâàíèå äèñêà
if ((index_tmp!=-1) && (index_tmp < values_list.count())) hdd_tmp.caption = values_list.at(index_tmp);
index_tmp = fields_list.indexOf(tr("Manufacturer")); // ïðîèçâîäèòåëü äèñêà
if ((index_tmp!=-1) && (index_tmp < values_list.count())) hdd_tmp.manufacturer = values_list.at(index_tmp);
 
 
 
 
index_tmp = fields_list.indexOf(tr("Size")); // Ðàçìåð äèñêà
if ((index_tmp!=-1) && (index_tmp < values_list.count())) {
 
QString size_str;
bool ok;
size_str = values_list.at(index_tmp);
int size_int=0;
long size_lng;
size_int = size_str.toInt(&ok);
size_lng = size_str.toLong(&ok);
hdd_tmp.size= size_lng;
}
 
 
 
 
index_tmp = fields_list.indexOf(tr("DeviceID")); // èäåíòèôèêàòîð äèñêà äèñêà
if ((index_tmp!=-1) && (index_tmp < values_list.count())) {
hdd_tmp.deviceID = values_list.at(index_tmp);
for (int k=0; k < serNum_list.count(); k++){
if ((serNum_list.at(k).deviceID == hdd_tmp.deviceID)&&(serNum_list.at(k).deviceID !="")) hdd_tmp.serialNumber = serNum_list.at(k).serialNumber;
}
 
}
result << hdd_tmp;
 
 
 
 
};
 
return result;
}
else return result; //ïîëó÷èëè íå êîððåêòíûé îòâåò
int m;
m++;
}
else {
wmiThread.stop();
ok = wmiThread.wait(10000);
int k;
k++;
}
 
 
 
 
 
 
 
 
 
return result;
 
}
 
 
 
QList<ThddSerialNumber> MainWindow::getHDDSerNum(QString host, QString user_name, QString password){
 
QList<ThddSerialNumber> result;
ThddSerialNumber serNum_tmp;
bool ok;
QString ansver_string;
 
 
wmiThread.setHost(host); // çàäàåì õîñò
wmiThread.setUser(user_name);//çàäàåì èìÿ ïîëüçîâàòåëÿ
wmiThread.setPassword( password);
wmiThread.setWmiString(tr("SELECT SerialNumber, Tag FROM Win32_PhysicalMedia"));
wmiThread.start(QThread::NormalPriority);
ok = wmiThread.wait(10000);
 
if (ok){
QTextDocument * wmiDoc = ui->textEdit_2->document();
QTextCursor * wmiCursor;
QStringList split_new_line; //
QStringList fields_list; //â ýòîì ñïèñêå ñîõðàíèì ïîëÿ
QStringList values_list; //à â ýòîì ñïèñêå - çíà÷åíèÿ
wmiCursor = new QTextCursor(wmiDoc);
 
 
ansver_string = wmiThread.resultString();
 
 
wmiCursor->insertText(ansver_string);
split_new_line = ansver_string.split("\n", QString::SkipEmptyParts); // ðàçáèâàåíì îòâåò íà ñòðîêè
if(split_new_line.count()>2) {
QString tmp_str;
tmp_str = split_new_line.at(1);
fields_list = tmp_str.split("|");
 
for(int i=2; i< split_new_line.count(); i++)
{
serNum_tmp.serialNumber = "";
serNum_tmp.deviceID = "";
tmp_str = split_new_line.at(i);
values_list = tmp_str.split("|");
int index_tmp;
index_tmp = fields_list.indexOf(tr("SerialNumber")); // ñåðèéíûé íîìåð äèñêà
if ((index_tmp!=-1) && (index_tmp < values_list.count())) serNum_tmp.serialNumber = values_list.at(index_tmp);
index_tmp = fields_list.indexOf(tr("Tag")); // èäåíòèôèêàòîð äèñêà
if ((index_tmp!=-1) && (index_tmp < values_list.count())) serNum_tmp.deviceID = values_list.at(index_tmp);
 
result << serNum_tmp;
 
};
 
return result;
}
else return result; //ïîëó÷èëè íå êîððåêòíûé îòâåò
int m;
m++;
}
else {
wmiThread.stop();
ok = wmiThread.wait(10000);
int k;
k++;
}
 
 
 
 
 
}