本文整理汇总了C++中DeviceDescriptor::EnableNMEA方法的典型用法代码示例。如果您正苦于以下问题:C++ DeviceDescriptor::EnableNMEA方法的具体用法?C++ DeviceDescriptor::EnableNMEA怎么用?C++ DeviceDescriptor::EnableNMEA使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DeviceDescriptor
的用法示例。
在下文中一共展示了DeviceDescriptor::EnableNMEA方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: switch
void
ExternalLogger::DownloadFlightFrom(DeviceDescriptor &device)
{
MessageOperationEnvironment env;
// Download the list of flights that the logger contains
RecordedFlightList flight_list;
switch (DoReadFlightList(device, flight_list)) {
case TriStateJobResult::SUCCESS:
break;
case TriStateJobResult::ERROR:
device.EnableNMEA(env);
ShowMessageBox(_("Failed to download flight list."),
_("Download flight"), MB_OK | MB_ICONERROR);
return;
case TriStateJobResult::CANCELLED:
return;
}
// The logger seems to be empty -> cancel
if (flight_list.empty()) {
device.EnableNMEA(env);
ShowMessageBox(_("Logger is empty."),
_("Download flight"), MB_OK | MB_ICONINFORMATION);
return;
}
while (true) {
// Show list of the flights
const RecordedFlightInfo *flight = ShowFlightList(flight_list);
if (!flight)
break;
// Download chosen IGC file into temporary file
TCHAR path[MAX_PATH];
LocalPath(path, _T("logs"), _T("temp.igc"));
switch (DoDownloadFlight(device, *flight, path)) {
case TriStateJobResult::SUCCESS:
break;
case TriStateJobResult::ERROR:
// Delete temporary file
File::Delete(path);
ShowMessageBox(_("Failed to download flight."),
_("Download flight"), MB_OK | MB_ICONERROR);
continue;
case TriStateJobResult::CANCELLED:
// Delete temporary file
File::Delete(path);
continue;
}
/* read the IGC header and build the final IGC file name with it */
IGCHeader header;
BrokenDate date;
ReadIGCMetaData(path, header, date);
if (header.flight == 0)
header.flight = GetFlightNumber(flight_list, *flight);
TCHAR name[64];
FormatIGCFilenameLong(name, date, header.manufacturer, header.id,
header.flight);
TCHAR final_path[MAX_PATH];
LocalPath(final_path, _T("logs"), name);
// Remove a file with the same name if it exists
if (File::Exists(final_path))
File::Delete(final_path);
// Rename the temporary file to the actual filename
File::Rename(path, final_path);
if (ShowMessageBox(_("Do you want to download another flight?"),
_("Download flight"), MB_YESNO | MB_ICONQUESTION) != IDYES)
break;
}
device.EnableNMEA(env);
}
示例2: transaction
void
ExternalLogger::DownloadFlightFrom(DeviceDescriptor &device)
{
MessageOperationEnvironment env;
// Download the list of flights that the logger contains
RecordedFlightList flight_list;
switch (DoReadFlightList(device, flight_list)) {
case TriStateJobResult::SUCCESS:
break;
case TriStateJobResult::ERROR:
device.EnableNMEA(env);
ShowMessageBox(_("Failed to download flight list."),
_("Download flight"), MB_OK | MB_ICONERROR);
return;
case TriStateJobResult::CANCELLED:
return;
}
// The logger seems to be empty -> cancel
if (flight_list.empty()) {
device.EnableNMEA(env);
ShowMessageBox(_("Logger is empty."),
_("Download flight"), MB_OK | MB_ICONINFORMATION);
return;
}
const auto logs_path = MakeLocalPath(_T("logs"));
while (true) {
// Show list of the flights
const RecordedFlightInfo *flight = ShowFlightList(flight_list);
if (!flight)
break;
// Download chosen IGC file into temporary file
FileTransaction transaction(AllocatedPath::Build(logs_path,
_T("temp.igc")));
switch (DoDownloadFlight(device, *flight, transaction.GetTemporaryPath())) {
case TriStateJobResult::SUCCESS:
break;
case TriStateJobResult::ERROR:
ShowMessageBox(_("Failed to download flight."),
_("Download flight"), MB_OK | MB_ICONERROR);
continue;
case TriStateJobResult::CANCELLED:
continue;
}
/* read the IGC header and build the final IGC file name with it */
IGCHeader header;
BrokenDate date;
ReadIGCMetaData(transaction.GetTemporaryPath(), header, date);
if (header.flight == 0)
header.flight = GetFlightNumber(flight_list, *flight);
TCHAR name[64];
FormatIGCFilenameLong(name, date, header.manufacturer, header.id,
header.flight);
transaction.SetPath(AllocatedPath::Build(logs_path, name));
transaction.Commit();
if (ShowMessageBox(_("Do you want to download another flight?"),
_("Download flight"), MB_YESNO | MB_ICONQUESTION) != IDYES)
break;
}
device.EnableNMEA(env);
}