- Changing SmartQuirkDatabase to store QString instead of char*.
- Changing quirkDatabase function to return QVector<SmartQuirkDatabase> instead of SmartQuirkDatabase*.
This commit is contained in:
parent
a4be3fd2ea
commit
f8f25dc82a
|
@ -22,6 +22,7 @@
|
||||||
#include <QMap>
|
#include <QMap>
|
||||||
#include <QRegularExpression>
|
#include <QRegularExpression>
|
||||||
#include <QVariant>
|
#include <QVariant>
|
||||||
|
#include <QVector>
|
||||||
|
|
||||||
#define MKELVIN_VALID_MIN ((qint64) ((-15LL*1000LL) + 273150LL))
|
#define MKELVIN_VALID_MIN ((qint64) ((-15LL*1000LL) + 273150LL))
|
||||||
#define MKELVIN_VALID_MAX ((qint64) ((100LL*1000LL) + 273150LL))
|
#define MKELVIN_VALID_MAX ((qint64) ((100LL*1000LL) + 273150LL))
|
||||||
|
@ -477,187 +478,171 @@ static const QMap<qint32, SmartAttributeParsedData::SmartAttributeUnit> tableUni
|
||||||
return table;
|
return table;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const SmartAttributeParsedData::SmartQuirkDataBase *quirkDatabase()
|
static const QVector<SmartAttributeParsedData::SmartQuirkDataBase> quirkDatabase()
|
||||||
{
|
{
|
||||||
static const SmartAttributeParsedData::SmartQuirkDataBase quirkDb[] = {
|
typedef SmartAttributeParsedData::SmartQuirkDataBase QuirkDatabase;
|
||||||
{
|
|
||||||
"^(FUJITSU MHY2120BH|FUJITSU MHY2250BH)$",
|
QVector<QuirkDatabase> quirkDb;
|
||||||
"^0085000B$",
|
|
||||||
(SmartAttributeParsedData::SmartQuirk) (SmartAttributeParsedData::SMART_QUIRK_9_POWERONMINUTES |
|
quirkDb << QuirkDatabase(QStringLiteral("^(FUJITSU MHY2120BH|FUJITSU MHY2250BH)$"), QStringLiteral("^0085000B$"),
|
||||||
SmartAttributeParsedData::SMART_QUIRK_197_UNKNOWN |
|
(SmartAttributeParsedData::SmartQuirk) (SmartAttributeParsedData::SMART_QUIRK_9_POWERONMINUTES |
|
||||||
SmartAttributeParsedData::SMART_QUIRK_198_UNKNOWN)
|
SmartAttributeParsedData::SMART_QUIRK_197_UNKNOWN |
|
||||||
},
|
SmartAttributeParsedData::SMART_QUIRK_198_UNKNOWN));
|
||||||
{
|
|
||||||
"^FUJITSU MHR2040AT$",
|
quirkDb << QuirkDatabase(QStringLiteral("^FUJITSU MHR2040AT$"), QStringLiteral(),
|
||||||
NULL,
|
(SmartAttributeParsedData::SmartQuirk) (SmartAttributeParsedData::SMART_QUIRK_9_POWERONSECONDS |
|
||||||
(SmartAttributeParsedData::SmartQuirk) (SmartAttributeParsedData::SMART_QUIRK_9_POWERONSECONDS |
|
SmartAttributeParsedData::SMART_QUIRK_192_EMERGENCYRETRACTCYCLECT |
|
||||||
SmartAttributeParsedData::SMART_QUIRK_192_EMERGENCYRETRACTCYCLECT |
|
SmartAttributeParsedData::SMART_QUIRK_200_WRITEERRORCOUNT));
|
||||||
SmartAttributeParsedData::SMART_QUIRK_200_WRITEERRORCOUNT)
|
|
||||||
},
|
quirkDb << QuirkDatabase(QStringLiteral("^FUJITSU MHS20[6432]0AT( .)?$"), QStringLiteral(),
|
||||||
{
|
(SmartAttributeParsedData::SmartQuirk) (SmartAttributeParsedData::SMART_QUIRK_9_POWERONSECONDS |
|
||||||
"^FUJITSU MHS20[6432]0AT( .)?$",
|
SmartAttributeParsedData::SMART_QUIRK_192_EMERGENCYRETRACTCYCLECT |
|
||||||
NULL,
|
SmartAttributeParsedData::SMART_QUIRK_200_WRITEERRORCOUNT |
|
||||||
(SmartAttributeParsedData::SmartQuirk) (SmartAttributeParsedData::SMART_QUIRK_9_POWERONSECONDS |
|
SmartAttributeParsedData::SMART_QUIRK_201_DETECTEDTACOUNT));
|
||||||
SmartAttributeParsedData::SMART_QUIRK_192_EMERGENCYRETRACTCYCLECT |
|
|
||||||
SmartAttributeParsedData::SMART_QUIRK_200_WRITEERRORCOUNT |
|
quirkDb << QuirkDatabase(QStringLiteral("^("
|
||||||
SmartAttributeParsedData::SMART_QUIRK_201_DETECTEDTACOUNT)
|
"FUJITSU M1623TAU|"
|
||||||
},
|
"FUJITSU MHG2...ATU?.*|"
|
||||||
{
|
"FUJITSU MHH2...ATU?.*|"
|
||||||
"^("
|
"FUJITSU MHJ2...ATU?.*|"
|
||||||
"FUJITSU M1623TAU|"
|
"FUJITSU MHK2...ATU?.*|"
|
||||||
"FUJITSU MHG2...ATU?.*|"
|
"FUJITSU MHL2300AT|"
|
||||||
"FUJITSU MHH2...ATU?.*|"
|
"FUJITSU MHM2(20|15|10|06)0AT|"
|
||||||
"FUJITSU MHJ2...ATU?.*|"
|
"FUJITSU MHN2...AT|"
|
||||||
"FUJITSU MHK2...ATU?.*|"
|
"FUJITSU MHR2020AT|"
|
||||||
"FUJITSU MHL2300AT|"
|
"FUJITSU MHT2...(AH|AS|AT|BH)U?.*|"
|
||||||
"FUJITSU MHM2(20|15|10|06)0AT|"
|
"FUJITSU MHU2...ATU?.*|"
|
||||||
"FUJITSU MHN2...AT|"
|
"FUJITSU MHV2...(AH|AS|AT|BH|BS|BT).*|"
|
||||||
"FUJITSU MHR2020AT|"
|
"FUJITSU MP[A-G]3...A[HTEV]U?.*"
|
||||||
"FUJITSU MHT2...(AH|AS|AT|BH)U?.*|"
|
")$"),
|
||||||
"FUJITSU MHU2...ATU?.*|"
|
QStringLiteral(),
|
||||||
"FUJITSU MHV2...(AH|AS|AT|BH|BS|BT).*|"
|
SmartAttributeParsedData::SMART_QUIRK_9_POWERONSECONDS);
|
||||||
"FUJITSU MP[A-G]3...A[HTEV]U?.*"
|
|
||||||
")$",
|
quirkDb << QuirkDatabase(QStringLiteral("^("
|
||||||
NULL,
|
"SAMSUNG SV4012H|"
|
||||||
SmartAttributeParsedData::SMART_QUIRK_9_POWERONSECONDS
|
"SAMSUNG SP(0451|08[0124]2|12[0145]3|16[0145]4)[CN]"
|
||||||
},
|
")$"),
|
||||||
{
|
QStringLiteral(),
|
||||||
"^("
|
SmartAttributeParsedData::SMART_QUIRK_9_POWERONHALFMINUTES);
|
||||||
"SAMSUNG SV4012H|"
|
|
||||||
"SAMSUNG SP(0451|08[0124]2|12[0145]3|16[0145]4)[CN]"
|
quirkDb << QuirkDatabase(QStringLiteral("^("
|
||||||
")$",
|
"SAMSUNG SV0412H|"
|
||||||
NULL,
|
"SAMSUNG SV1204H"
|
||||||
SmartAttributeParsedData::SMART_QUIRK_9_POWERONHALFMINUTES
|
")$"),
|
||||||
},
|
QStringLiteral(),
|
||||||
{
|
(SmartAttributeParsedData::SmartQuirk) (SmartAttributeParsedData::SMART_QUIRK_9_POWERONHALFMINUTES |
|
||||||
"^("
|
SmartAttributeParsedData::SMART_QUIRK_194_10XCELSIUS));
|
||||||
"SAMSUNG SV0412H|"
|
|
||||||
"SAMSUNG SV1204H"
|
quirkDb << QuirkDatabase(QStringLiteral("^SAMSUNG SP40A2H$"),
|
||||||
")$",
|
QStringLiteral("^RR100-07$"),
|
||||||
NULL,
|
SmartAttributeParsedData::SMART_QUIRK_9_POWERONHALFMINUTES);
|
||||||
(SmartAttributeParsedData::SmartQuirk) (SmartAttributeParsedData::SMART_QUIRK_9_POWERONHALFMINUTES |
|
|
||||||
SmartAttributeParsedData::SMART_QUIRK_194_10XCELSIUS)
|
quirkDb << QuirkDatabase(QStringLiteral("^SAMSUNG SP80A4H$"),
|
||||||
},
|
QStringLiteral("^RT100-06$"),
|
||||||
{
|
SmartAttributeParsedData::SMART_QUIRK_9_POWERONHALFMINUTES);
|
||||||
"^SAMSUNG SP40A2H$",
|
|
||||||
"^RR100-07$",
|
quirkDb << QuirkDatabase(QStringLiteral("^SAMSUNG SP8004H$"),
|
||||||
SmartAttributeParsedData::SMART_QUIRK_9_POWERONHALFMINUTES
|
QStringLiteral("^QW100-61$"),
|
||||||
},
|
SmartAttributeParsedData::SMART_QUIRK_9_POWERONHALFMINUTES);
|
||||||
{
|
|
||||||
"^SAMSUNG SP80A4H$",
|
quirkDb << QuirkDatabase(QStringLiteral("^("
|
||||||
"^RT100-06$",
|
"Maxtor 2B0(0[468]|1[05]|20)H1|"
|
||||||
SmartAttributeParsedData::SMART_QUIRK_9_POWERONHALFMINUTES
|
"Maxtor 4G(120J6|160J[68])|"
|
||||||
},
|
"Maxtor 4D0(20H1|40H2|60H3|80H4)"
|
||||||
{
|
")$"),
|
||||||
"^SAMSUNG SP8004H$",
|
QStringLiteral(),
|
||||||
"^QW100-61$",
|
(SmartAttributeParsedData::SmartQuirk) (SmartAttributeParsedData::SMART_QUIRK_9_POWERONMINUTES |
|
||||||
SmartAttributeParsedData::SMART_QUIRK_9_POWERONHALFMINUTES
|
SmartAttributeParsedData::SMART_QUIRK_194_UNKNOWN));
|
||||||
},
|
|
||||||
{
|
quirkDb << QuirkDatabase(QStringLiteral("^("
|
||||||
"^("
|
"Maxtor 2F0[234]0[JL]0|"
|
||||||
"Maxtor 2B0(0[468]|1[05]|20)H1|"
|
"Maxtor 8(1280A2|2160A4|2560A4|3840A6|4000A6|5120A8)|"
|
||||||
"Maxtor 4G(120J6|160J[68])|"
|
"Maxtor 8(2160D2|3228D3|3240D3|4320D4|6480D6|8400D8|8455D8)|"
|
||||||
"Maxtor 4D0(20H1|40H2|60H3|80H4)"
|
"Maxtor 9(0510D4|0576D4|0648D5|0720D5|0840D6|0845D6|0864D6|1008D7|1080D8|1152D8)|"
|
||||||
")$",
|
"Maxtor 9(1(360|350|202)D8|1190D7|10[12]0D6|0840D5|06[48]0D4|0510D3|1(350|202)E8|1010E6|0840E5|0640E4)|"
|
||||||
NULL,
|
"Maxtor 9(0512D2|0680D3|0750D3|0913D4|1024D4|1360D6|1536D6|1792D7|2048D8)|"
|
||||||
(SmartAttributeParsedData::SmartQuirk) (SmartAttributeParsedData::SMART_QUIRK_9_POWERONMINUTES |
|
"Maxtor 9(2732U8|2390U7|204[09]U6|1707U5|1366U4|1024U3|0845U3|0683U2)|"
|
||||||
SmartAttributeParsedData::SMART_QUIRK_194_UNKNOWN)
|
"Maxtor 4(R0[68]0[JL]0|R1[26]0L0|A160J0|R120L4)|"
|
||||||
},
|
"Maxtor (91728D8|91512D7|91303D6|91080D5|90845D4|90645D3|90648D[34]|90432D2)|"
|
||||||
{
|
"Maxtor 9(0431U1|0641U2|0871U2|1301U3|1741U4)|"
|
||||||
"^("
|
"Maxtor (94091U8|93071U6|92561U5|92041U4|91731U4|91531U3|91361U3|91021U2|90841U2|90651U2)|"
|
||||||
"Maxtor 2F0[234]0[JL]0|"
|
"Maxtor (33073U4|32049U3|31536U2|30768U1|33073H4|32305H3|31536H2|30768H1)|"
|
||||||
"Maxtor 8(1280A2|2160A4|2560A4|3840A6|4000A6|5120A8)|"
|
"Maxtor (93652U8|92739U6|91826U4|91369U3|90913U2|90845U2|90435U1)|"
|
||||||
"Maxtor 8(2160D2|3228D3|3240D3|4320D4|6480D6|8400D8|8455D8)|"
|
"Maxtor 9(0684U2|1024U2|1362U3|1536U3|2049U4|2562U5|3073U6|4098U8)|"
|
||||||
"Maxtor 9(0510D4|0576D4|0648D5|0720D5|0840D6|0845D6|0864D6|1008D7|1080D8|1152D8)|"
|
"Maxtor (54098[UH]8|53073[UH]6|52732[UH]6|52049[UH]4|51536[UH]3|51369[UH]3|51024[UH]2)|"
|
||||||
"Maxtor 9(1(360|350|202)D8|1190D7|10[12]0D6|0840D5|06[48]0D4|0510D3|1(350|202)E8|1010E6|0840E5|0640E4)|"
|
"Maxtor 3(1024H1|1535H2|2049H2|3073H3|4098H4)( B)?|"
|
||||||
"Maxtor 9(0512D2|0680D3|0750D3|0913D4|1024D4|1360D6|1536D6|1792D7|2048D8)|"
|
"Maxtor 5(4610H6|4098H6|3073H4|2049H3|1536H2|1369H2|1023H2)|"
|
||||||
"Maxtor 9(2732U8|2390U7|204[09]U6|1707U5|1366U4|1024U3|0845U3|0683U2)|"
|
"Maxtor 9(1023U2|1536U2|2049U3|2305U3|3073U4|4610U6|6147U8)|"
|
||||||
"Maxtor 4(R0[68]0[JL]0|R1[26]0L0|A160J0|R120L4)|"
|
"Maxtor 9(1023H2|1536H2|2049H3|2305H3|3073H4|4098H6|4610H6|6147H8)|"
|
||||||
"Maxtor (91728D8|91512D7|91303D6|91080D5|90845D4|90645D3|90648D[34]|90432D2)|"
|
"Maxtor 5T0(60H6|40H4|30H3|20H2|10H1)|"
|
||||||
"Maxtor 9(0431U1|0641U2|0871U2|1301U3|1741U4)|"
|
"Maxtor (98196H8|96147H6)|"
|
||||||
"Maxtor (94091U8|93071U6|92561U5|92041U4|91731U4|91531U3|91361U3|91021U2|90841U2|90651U2)|"
|
"Maxtor 4W(100H6|080H6|060H4|040H3|030H2)|"
|
||||||
"Maxtor (33073U4|32049U3|31536U2|30768U1|33073H4|32305H3|31536H2|30768H1)|"
|
"Maxtor 6(E0[234]|K04)0L0|"
|
||||||
"Maxtor (93652U8|92739U6|91826U4|91369U3|90913U2|90845U2|90435U1)|"
|
"Maxtor 6(B(30|25|20|16|12|10|08)0[MPRS]|L(080[MLP]|(100|120)[MP]|160[MP]|200[MPRS]|250[RS]|300[RS]))0|"
|
||||||
"Maxtor 9(0684U2|1024U2|1362U3|1536U3|2049U4|2562U5|3073U6|4098U8)|"
|
"Maxtor 6Y((060|080|120|160)L0|(060|080|120|160|200|250)P0|(060|080|120|160|200|250)M0)|"
|
||||||
"Maxtor (54098[UH]8|53073[UH]6|52732[UH]6|52049[UH]4|51536[UH]3|51369[UH]3|51024[UH]2)|"
|
"Maxtor 7Y250[PM]0|"
|
||||||
"Maxtor 3(1024H1|1535H2|2049H2|3073H3|4098H4)( B)?|"
|
"Maxtor [45]A(25|30|32)0[JN]0|"
|
||||||
"Maxtor 5(4610H6|4098H6|3073H4|2049H3|1536H2|1369H2|1023H2)|"
|
"Maxtor 7L(25|30)0[SR]0"
|
||||||
"Maxtor 9(1023U2|1536U2|2049U3|2305U3|3073U4|4610U6|6147U8)|"
|
")$"),
|
||||||
"Maxtor 9(1023H2|1536H2|2049H3|2305H3|3073H4|4098H6|4610H6|6147H8)|"
|
QStringLiteral(),
|
||||||
"Maxtor 5T0(60H6|40H4|30H3|20H2|10H1)|"
|
SmartAttributeParsedData::SMART_QUIRK_9_POWERONMINUTES);
|
||||||
"Maxtor (98196H8|96147H6)|"
|
|
||||||
"Maxtor 4W(100H6|080H6|060H4|040H3|030H2)|"
|
quirkDb << QuirkDatabase(QStringLiteral("^("
|
||||||
"Maxtor 6(E0[234]|K04)0L0|"
|
"HITACHI_DK14FA-20B|"
|
||||||
"Maxtor 6(B(30|25|20|16|12|10|08)0[MPRS]|L(080[MLP]|(100|120)[MP]|160[MP]|200[MPRS]|250[RS]|300[RS]))0|"
|
"HITACHI_DK23..-..B?|"
|
||||||
"Maxtor 6Y((060|080|120|160)L0|(060|080|120|160|200|250)P0|(060|080|120|160|200|250)M0)|"
|
"HITACHI_DK23FA-20J|HTA422020F9AT[JN]0|"
|
||||||
"Maxtor 7Y250[PM]0|"
|
"HE[JN]4230[23]0F9AT00|"
|
||||||
"Maxtor [45]A(25|30|32)0[JN]0|"
|
"HTC4260[23]0G5CE00|HTC4260[56]0G8CE00"
|
||||||
"Maxtor 7L(25|30)0[SR]0"
|
")$"),
|
||||||
")$",
|
QStringLiteral(),
|
||||||
NULL,
|
(SmartAttributeParsedData::SmartQuirk) (SmartAttributeParsedData::SMART_QUIRK_9_POWERONMINUTES |
|
||||||
SmartAttributeParsedData::SMART_QUIRK_9_POWERONMINUTES
|
SmartAttributeParsedData::SMART_QUIRK_193_LOADUNLOAD));
|
||||||
},
|
|
||||||
{
|
quirkDb << QuirkDatabase(QStringLiteral("^HTS541010G9SA00$"),
|
||||||
"^("
|
QStringLiteral("^MBZOC60P$"),
|
||||||
"HITACHI_DK14FA-20B|"
|
SmartAttributeParsedData::SMART_QUIRK_5_UNKNOWN);
|
||||||
"HITACHI_DK23..-..B?|"
|
|
||||||
"HITACHI_DK23FA-20J|HTA422020F9AT[JN]0|"
|
quirkDb << QuirkDatabase(QStringLiteral("^MCCOE64GEMPP$"),
|
||||||
"HE[JN]4230[23]0F9AT00|"
|
QStringLiteral("^2.9.0[3-9]$"),
|
||||||
"HTC4260[23]0G5CE00|HTC4260[56]0G8CE00"
|
(SmartAttributeParsedData::SmartQuirk) (SmartAttributeParsedData::SMART_QUIRK_5_UNKNOWN |
|
||||||
")$",
|
SmartAttributeParsedData::SMART_QUIRK_190_UNKNOWN));
|
||||||
NULL,
|
|
||||||
(SmartAttributeParsedData::SmartQuirk) (SmartAttributeParsedData::SMART_QUIRK_9_POWERONMINUTES |
|
quirkDb << QuirkDatabase(QStringLiteral("^INTEL SSDSA2(CT|BT|CW|BW)[0-9]{3}G3.*$"),
|
||||||
SmartAttributeParsedData::SMART_QUIRK_193_LOADUNLOAD)
|
QStringLiteral(),
|
||||||
},
|
(SmartAttributeParsedData::SmartQuirk)
|
||||||
{
|
(SmartAttributeParsedData::SMART_QUIRK_3_UNUSED |
|
||||||
"^HTS541010G9SA00$",
|
SmartAttributeParsedData::SMART_QUIRK_4_UNUSED |
|
||||||
"^MBZOC60P$",
|
SmartAttributeParsedData::SMART_QUIRK_225_TOTALLBASWRITTEN |
|
||||||
SmartAttributeParsedData::SMART_QUIRK_5_UNKNOWN
|
SmartAttributeParsedData::SMART_QUIRK_226_TIMEWORKLOADMEDIAWEAR |
|
||||||
},
|
SmartAttributeParsedData::SMART_QUIRK_227_TIMEWORKLOADHOSTREADS |
|
||||||
{
|
SmartAttributeParsedData::SMART_QUIRK_228_WORKLOADTIMER |
|
||||||
"^MCCOE64GEMPP$",
|
SmartAttributeParsedData::SMART_QUIRK_232_AVAILABLERESERVEDSPACE |
|
||||||
"^2.9.0[3-9]$",
|
SmartAttributeParsedData::SMART_QUIRK_233_MEDIAWEAROUTINDICATOR));
|
||||||
(SmartAttributeParsedData::SmartQuirk) (SmartAttributeParsedData::SMART_QUIRK_5_UNKNOWN |
|
|
||||||
SmartAttributeParsedData::SMART_QUIRK_190_UNKNOWN)
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"^INTEL SSDSA2(CT|BT|CW|BW)[0-9]{3}G3.*$",
|
|
||||||
NULL,
|
|
||||||
(SmartAttributeParsedData::SmartQuirk) (SmartAttributeParsedData::SMART_QUIRK_3_UNUSED |
|
|
||||||
SmartAttributeParsedData::SMART_QUIRK_4_UNUSED |
|
|
||||||
SmartAttributeParsedData::SMART_QUIRK_225_TOTALLBASWRITTEN |
|
|
||||||
SmartAttributeParsedData::SMART_QUIRK_226_TIMEWORKLOADMEDIAWEAR |
|
|
||||||
SmartAttributeParsedData::SMART_QUIRK_227_TIMEWORKLOADHOSTREADS |
|
|
||||||
SmartAttributeParsedData::SMART_QUIRK_228_WORKLOADTIMER |
|
|
||||||
SmartAttributeParsedData::SMART_QUIRK_232_AVAILABLERESERVEDSPACE |
|
|
||||||
SmartAttributeParsedData::SMART_QUIRK_233_MEDIAWEAROUTINDICATOR)
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
return quirkDb;
|
return quirkDb;
|
||||||
}
|
}
|
||||||
|
|
||||||
static SmartAttributeParsedData::SmartQuirk getQuirk(QString model, QString firmware)
|
static SmartAttributeParsedData::SmartQuirk getQuirk(QString model, QString firmware)
|
||||||
{
|
{
|
||||||
const SmartAttributeParsedData::SmartQuirkDataBase *db;
|
const QVector<SmartAttributeParsedData::SmartQuirkDataBase> db = quirkDatabase();
|
||||||
|
|
||||||
QRegularExpression modelRegex;
|
QRegularExpression modelRegex;
|
||||||
QRegularExpression firmwareRegex;
|
QRegularExpression firmwareRegex;
|
||||||
|
|
||||||
for (db = quirkDatabase(); db->model || db->firmware; db++) {
|
for (const SmartAttributeParsedData::SmartQuirkDataBase &item : qAsConst(db)) {
|
||||||
if (db->model) {
|
if (!item.model.isEmpty()) {
|
||||||
modelRegex.setPattern(QString::fromLocal8Bit(db->model));
|
modelRegex.setPattern(item.model);
|
||||||
QRegularExpressionMatch match = modelRegex.match(model);
|
QRegularExpressionMatch match = modelRegex.match(model);
|
||||||
if (!match.hasMatch())
|
if (!match.hasMatch())
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (db->firmware) {
|
if (!item.firmware.isEmpty()) {
|
||||||
firmwareRegex.setPattern(QString::fromLocal8Bit(db->firmware));
|
firmwareRegex.setPattern(item.firmware);
|
||||||
QRegularExpressionMatch match = firmwareRegex.match(firmware);
|
QRegularExpressionMatch match = firmwareRegex.match(firmware);
|
||||||
if (!match.hasMatch())
|
if (!match.hasMatch())
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
return db->quirk;
|
return item.quirk;
|
||||||
}
|
}
|
||||||
|
|
||||||
return (SmartAttributeParsedData::SmartQuirk) 0;
|
return (SmartAttributeParsedData::SmartQuirk) 0;
|
||||||
|
|
|
@ -74,9 +74,18 @@ public:
|
||||||
|
|
||||||
/** SMART Quirk to some particular model and firmware */
|
/** SMART Quirk to some particular model and firmware */
|
||||||
struct SmartQuirkDataBase {
|
struct SmartQuirkDataBase {
|
||||||
const char *model;
|
QString model;
|
||||||
const char *firmware;
|
QString firmware;
|
||||||
SmartAttributeParsedData::SmartQuirk quirk;
|
SmartAttributeParsedData::SmartQuirk quirk;
|
||||||
|
|
||||||
|
SmartQuirkDataBase(const QString &m = QString(),
|
||||||
|
const QString &f = QString(),
|
||||||
|
SmartAttributeParsedData::SmartQuirk q = (SmartAttributeParsedData::SmartQuirk) 0) :
|
||||||
|
model(m),
|
||||||
|
firmware(f),
|
||||||
|
quirk(q)
|
||||||
|
{
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
Loading…
Reference in New Issue