private static bool _CreateConfiguration(string fileName)
{
//Do an inquiry scan, find a device, and save its information
Logger.WriteLine(String.Format("Configuration file '{0}' does not exist.", fileName));
Logger.WriteLine("Performing inquiry scan...");
var devices = Properties.Adapter.DoInquiryScan(INQUIRY_TIMEOUT_SECS);
Logger.WriteLine(String.Format("Found {0} devices:", devices.Count));
var list = new Dictionary <int, InquiryInfo>();
for (int i = 1; i < devices.Count + 1; i++)
{
var name = Properties.Adapter.GetRemoteName(devices[i - 1]);
Logger.WriteLine(String.Format("\t{0}: {1} - {2}", i.ToString(), devices[i - 1].BDAddr.ToString("X12"), name));
list.Add(i, new InquiryInfo(devices[i - 1], name));
}
while (true)
{
Logger.WriteLine("Enter the index of the device you want to use (or 'x' to quit): ");
var selected = Console.ReadKey().KeyChar;
Logger.WriteLine();
//HACK: Yeah, I know this would freak out with more than 9 devices...
if (selected == 'x')
{
return(false);
}
else if (list.ContainsKey(selected - 0x30))
{
var item = list[selected - 0x30];
//Build the configuration
var file = new DeviceConfiguration();
file.BDAddr = item.Result.BDAddr;
file.RemoteName = item.RemoteName;
file.DeviceClass = item.Result.DeviceClass;
file.PageScanRepetitionMode = item.Result.PageScanRepetitionMode;
file.ClockOffset = item.Result.ClockOffset;
//Write it out
Logger.WriteLine(String.Format("Saving configuration file '{0}'...", fileName));
file.Save(fileName);
break;
}
else
{
Logger.WriteLine("Invalid selection, try again.");
}
}
return(true);
}