Хранилища Subversion OpenInventory

Редакция

Редакция 254 | Редакция 256 | К новейшей редакции | Весь файл | Не учитывать пробелы | Содержимое файла | Авторство | Последнее изменение | Открыть журнал | RSS

Редакция 254 Редакция 255
Строка 2085... Строка 2085...
2085
2085
2086
return result;
2086
return result;
2087
}
2087
}
2088
2088
2089
2089
-
 
2090
QList<TWmiHDD> MainWindow::getWmiHDD(QString host, QString user_name, QString password)
-
 
2091
{
-
 
2092
QList<TWmiHDD> result;
-
 
2093
TWmiHDD hdd_tmp;
-
 
2094
bool ok;
-
 
2095
QString ansver_string;
-
 
2096
-
 
2097
QList<ThddSerialNumber> serNum_list;
-
 
2098
serNum_list =  MainWindow::getHDDSerNum(host, user_name, password); // îïðåäåëÿåì ñåðèéíûå íîìåðà äèñêîâ
-
 
2099
-
 
2100
-
 
2101
-
 
2102
-
 
2103
wmiThread.setHost(host); // çàäàåì õîñò
-
 
2104
wmiThread.setUser(user_name);//çàäàåì èìÿ ïîëüçîâàòåëÿ
-
 
2105
wmiThread.setPassword( password);
-
 
2106
wmiThread.setWmiString(tr("SELECT Caption, Manufacturer, Size, DeviceID from   Win32_DiskDrive"));
-
 
2107
wmiThread.start(QThread::NormalPriority);
-
 
2108
ok = wmiThread.wait(10000);
-
 
2109
-
 
2110
-
 
2111
if (ok){
-
 
2112
    QTextDocument * wmiDoc = ui->textEdit_2->document();
-
 
2113
    QTextCursor * wmiCursor;
-
 
2114
    QStringList split_new_line; //
-
 
2115
    QStringList fields_list; //â ýòîì ñïèñêå ñîõðàíèì ïîëÿ
-
 
2116
    QStringList values_list; //à â ýòîì ñïèñêå - çíà÷åíèÿ
-
 
2117
    wmiCursor = new QTextCursor(wmiDoc);
-
 
2118
-
 
2119
-
 
2120
    ansver_string = wmiThread.resultString();
-
 
2121
-
 
2122
-
 
2123
    wmiCursor->insertText(ansver_string);
-
 
2124
    split_new_line = ansver_string.split("\n",  QString::SkipEmptyParts); // ðàçáèâàåíì îòâåò íà ñòðîêè
-
 
2125
    if(split_new_line.count()>2) {
-
 
2126
                                    QString tmp_str;
-
 
2127
                                    tmp_str = split_new_line.at(1);
-
 
2128
                                    fields_list = tmp_str.split("|");
-
 
2129
-
 
2130
                                    for(int i=2; i< split_new_line.count(); i++)
-
 
2131
                                    {
-
 
2132
                                        hdd_tmp.caption = "";
-
 
2133
                                        hdd_tmp.deviceID="";
-
 
2134
                                        hdd_tmp.manufacturer="";
-
 
2135
                                        hdd_tmp.serialNumber="";
-
 
2136
                                        hdd_tmp.size=0;
-
 
2137
                                        tmp_str = split_new_line.at(i);
-
 
2138
                                        values_list = tmp_str.split("|");
-
 
2139
                                        int index_tmp;
-
 
2140
                                        index_tmp = fields_list.indexOf(tr("Caption")); // íàçâàíèå äèñêà
-
 
2141
                                        if ((index_tmp!=-1) && (index_tmp < values_list.count()))  hdd_tmp.caption = values_list.at(index_tmp);
-
 
2142
                                        index_tmp = fields_list.indexOf(tr("Manufacturer")); // ïðîèçâîäèòåëü äèñêà
-
 
2143
                                        if ((index_tmp!=-1) && (index_tmp < values_list.count()))  hdd_tmp.manufacturer = values_list.at(index_tmp);
-
 
2144
-
 
2145
-
 
2146
-
 
2147
-
 
2148
                                        index_tmp = fields_list.indexOf(tr("Size")); // Ðàçìåð äèñêà
-
 
2149
                                        if ((index_tmp!=-1) && (index_tmp < values_list.count()))  {
-
 
2150
-
 
2151
                                                                    QString size_str;
-
 
2152
                                                                    bool ok;
-
 
2153
                                                                    size_str = values_list.at(index_tmp);
-
 
2154
                                                                    int size_int=0;
-
 
2155
                                                                    long size_lng;
-
 
2156
                                                                    size_int = size_str.toInt(&ok);
-
 
2157
                                                                    size_lng = size_str.toLong(&ok);
-
 
2158
                                                                    hdd_tmp.size= size_lng;
-
 
2159
                                                                }
-
 
2160
-
 
2161
-
 
2162
-
 
2163
-
 
2164
                                        index_tmp = fields_list.indexOf(tr("DeviceID")); // èäåíòèôèêàòîð äèñêà äèñêà
-
 
2165
                                        if ((index_tmp!=-1) && (index_tmp < values_list.count()))  {
-
 
2166
                                                            hdd_tmp.deviceID = values_list.at(index_tmp);
-
 
2167
                                                            for (int k=0; k < serNum_list.count(); k++){
-
 
2168
                                                                if ((serNum_list.at(k).deviceID ==  hdd_tmp.deviceID)&&(serNum_list.at(k).deviceID !=""))  hdd_tmp.serialNumber = serNum_list.at(k).serialNumber;
-
 
2169
                                                            }
-
 
2170
-
 
2171
                                                }
-
 
2172
                                        result << hdd_tmp;
-
 
2173
-
 
2174
-
 
2175
-
 
2176
-
 
2177
                                             };
-
 
2178
-
 
2179
                                      return result;
-
 
2180
                                   }
-
 
2181
    else return result; //ïîëó÷èëè íå êîððåêòíûé îòâåò
-
 
2182
    int m;
-
 
2183
    m++;
-
 
2184
}
-
 
2185
else {
-
 
2186
    wmiThread.stop();
-
 
2187
    ok = wmiThread.wait(10000);
-
 
2188
    int k;
-
 
2189
    k++;
-
 
2190
}
-
 
2191
-
 
2192
-
 
2193
-
 
2194
-
 
2195
-
 
2196
-
 
2197
-
 
2198
-
 
2199
-
 
2200
return result;
-
 
2201
-
 
2202
}
-
 
2203
-
 
2204
-
 
2205
-
 
2206
QList<ThddSerialNumber> MainWindow::getHDDSerNum(QString host, QString user_name, QString password){
-
 
2207
-
 
2208
    QList<ThddSerialNumber> result;
-
 
2209
    ThddSerialNumber serNum_tmp;
-
 
2210
    bool ok;
-
 
2211
    QString ansver_string;
-
 
2212
-
 
2213
-
 
2214
    wmiThread.setHost(host); // çàäàåì õîñò
-
 
2215
    wmiThread.setUser(user_name);//çàäàåì èìÿ ïîëüçîâàòåëÿ
-
 
2216
    wmiThread.setPassword( password);
-
 
2217
    wmiThread.setWmiString(tr("SELECT SerialNumber, Tag FROM Win32_PhysicalMedia"));
-
 
2218
    wmiThread.start(QThread::NormalPriority);
-
 
2219
    ok = wmiThread.wait(10000);
-
 
2220
-
 
2221
    if (ok){
-
 
2222
        QTextDocument * wmiDoc = ui->textEdit_2->document();
-
 
2223
        QTextCursor * wmiCursor;
-
 
2224
        QStringList split_new_line; //
-
 
2225
        QStringList fields_list; //â ýòîì ñïèñêå ñîõðàíèì ïîëÿ
-
 
2226
        QStringList values_list; //à â ýòîì ñïèñêå - çíà÷åíèÿ
-
 
2227
        wmiCursor = new QTextCursor(wmiDoc);
-
 
2228
-
 
2229
-
 
2230
        ansver_string = wmiThread.resultString();
-
 
2231
-
 
2232
-
 
2233
        wmiCursor->insertText(ansver_string);
-
 
2234
        split_new_line = ansver_string.split("\n",  QString::SkipEmptyParts); // ðàçáèâàåíì îòâåò íà ñòðîêè
-
 
2235
        if(split_new_line.count()>2) {
-
 
2236
                                        QString tmp_str;
-
 
2237
                                        tmp_str = split_new_line.at(1);
-
 
2238
                                        fields_list = tmp_str.split("|");
-
 
2239
-
 
2240
                                        for(int i=2; i< split_new_line.count(); i++)
-
 
2241
                                        {
-
 
2242
                                            serNum_tmp.serialNumber = "";
-
 
2243
                                            serNum_tmp.deviceID = "";
-
 
2244
                                            tmp_str = split_new_line.at(i);
-
 
2245
                                            values_list = tmp_str.split("|");
-
 
2246
                                            int index_tmp;
-
 
2247
                                            index_tmp = fields_list.indexOf(tr("SerialNumber")); // ñåðèéíûé íîìåð äèñêà
-
 
2248
                                            if ((index_tmp!=-1) && (index_tmp < values_list.count()))   serNum_tmp.serialNumber = values_list.at(index_tmp);
-
 
2249
                                            index_tmp = fields_list.indexOf(tr("Tag")); // èäåíòèôèêàòîð äèñêà
-
 
2250
                                            if ((index_tmp!=-1) && (index_tmp < values_list.count()))  serNum_tmp.deviceID = values_list.at(index_tmp);
-
 
2251
-
 
2252
                                            result <<  serNum_tmp;
-
 
2253
-
 
2254
                                                 };
-
 
2255
-
 
2256
                                          return result;
-
 
2257
                                       }
-
 
2258
        else return result; //ïîëó÷èëè íå êîððåêòíûé îòâåò
-
 
2259
        int m;
-
 
2260
        m++;
-
 
2261
    }
-
 
2262
    else {
-
 
2263
        wmiThread.stop();
-
 
2264
        ok = wmiThread.wait(10000);
-
 
2265
        int k;
-
 
2266
        k++;
-
 
2267
    }
-
 
2268
-
 
2269
-
 
2270
-
 
2271
-
 
2272
-
 
2273
}