BitLockerStatusModel.fromOutputString constructor
BitLockerStatusModel.fromOutputString(
- String output
Implementation
factory BitLockerStatusModel.fromOutputString(String output) {
String extractedConversionStatus =
extractValue(RegularExpressions.conversionStatusPattern, output).trim();
String extractedLockStatus =
extractValue(RegularExpressions.lockStatusPattern, output).trim();
String extractedProtectionStatus =
extractValue(RegularExpressions.protectionStatusPattern, output).trim();
String extractedSize = extractValue(RegularExpressions.sizePattern, output)
.trim()
.replaceAll(' GB', '');
String extractedPercentageEncrypted =
extractValue(RegularExpressions.percentageEncryptedPattern, output)
.trim()
.replaceAll('%', '');
LockStatusEnum lockStatus;
ConversionStatusEnum status;
ProtectionStatusEnum protectionStatus;
switch (extractedLockStatus) {
case "Locked":
lockStatus = LockStatusEnum.locked;
break;
case "Unlocked":
lockStatus = LockStatusEnum.unLocked;
break;
default:
lockStatus = LockStatusEnum.unLocked;
break;
}
switch (extractedProtectionStatus) {
case "Protection Off":
protectionStatus = ProtectionStatusEnum.protectionOff;
break;
case "Unknown":
protectionStatus = ProtectionStatusEnum.unknown;
break;
case "Protection On":
protectionStatus = ProtectionStatusEnum.protectionOn;
break;
default:
protectionStatus = ProtectionStatusEnum.unknown;
break;
}
switch (extractedConversionStatus) {
case "Fully Encrypted":
status = ConversionStatusEnum.fullyEncrypted;
break;
case "Fully Decrypted":
status = ConversionStatusEnum.fullyDecrypted;
break;
case "Encryption in Progress":
status = ConversionStatusEnum.encryptionInProgress;
break;
case "Unknown":
status = ConversionStatusEnum.unknown;
break;
default:
status = ConversionStatusEnum.unknown;
break;
}
return BitLockerStatusModel(
size: double.parse(extractedSize == 'Unknown' ? '0' : extractedSize),
bitLockerVersion: double.parse(
extractValue(RegularExpressions.bitLockerVersionPattern, output)
.trim()),
conversionStatus: status,
encryptionMethod:
extractValue(RegularExpressions.encryptionMethodPattern, output)
.trim(),
identificationField:
extractValue(RegularExpressions.identificationFieldPattern, output),
lockStatus: lockStatus,
protectionStatus: protectionStatus,
percentageEncrypted: double.parse(
extractedPercentageEncrypted == 'Unknown'
? '0'
: extractedPercentageEncrypted),
keyProtector: keyProtectorsExtractValue(output),
);
}