private void btnSaveLongTermKey_Click(object sender, EventArgs e)
{
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.Filter = "Text Files|*.txt";
saveFileDialog.Title = "Select a Long-Term Key Data File To Save";
bool fileError = false;
if (saveFileDialog.ShowDialog() != DialogResult.OK)
return;
csvKeyData.Clear();
if (File.Exists(saveFileDialog.FileName))
csvKeyData = ReadCsv(saveFileDialog.FileName, ref fileError);
ConnectInfo connectInfo = devForm.GetConnectInfo();
DeviceTabsForm.CsvData newCsvData = new DeviceTabsForm.CsvData();
newCsvData.addr = connectInfo.BDA;
newCsvData.auth = lastAuthStr;
newCsvData.ltk = lastGAP_AuthenticationComplete.devSecInfo_LTK;
newCsvData.div = Convert.ToString((int)lastGAP_AuthenticationComplete.devSecInfo_DIV, 16).ToUpper();
newCsvData.rand = lastGAP_AuthenticationComplete.devSecInfo_RAND;
if (newCsvData.addr == null || newCsvData.addr.Length == 0)
{
msgBox.UserMsgBox(SharedObjects.MainWin, MsgBox.MsgTypes.Error, string.Format("Connection Address Is Invalid\nDevice Must Be Connected To Save Data\n"));
}
else
{
int csvIndex = -1;
if (FindAddrInCsv(newCsvData.addr, csvKeyData, ref csvIndex))
return;
if (csvIndex == -1)
{
if (AddToEndCsv(newCsvData, ref csvKeyData))
return;
}
else if (ReplaceAddrDataInCsv(newCsvData, ref csvKeyData, csvIndex))
return;
fileError = WriteCsv(saveFileDialog.FileName, csvKeyData);
int num = fileError ? 1 : 0;
}
}