diff --git a/README.md b/README.md index b0639f4b6b..ac37860da5 100644 --- a/README.md +++ b/README.md @@ -509,21 +509,24 @@ For additional Windows samples, see [Windows on GitHub](http://microsoft.github. JSON Mobile broadband - Radios + Network connectivity + Radios Socket activity trigger stream socket StreamSocket - Syndication + Syndication USSD protocol WebSocket - Wi-Fi Direct + Wi-Fi Direct Wi-Fi Direct services Wi-Fi hotspot authentication + + Wi-Fi scanning diff --git a/Samples/BarcodeScanner/README.md b/Samples/BarcodeScanner/README.md index 40c6079e99..1296011c83 100644 --- a/Samples/BarcodeScanner/README.md +++ b/Samples/BarcodeScanner/README.md @@ -3,8 +3,6 @@ page_type: sample languages: - csharp - cpp -- cppcx -- vb - cppwinrt products: - windows @@ -95,7 +93,7 @@ To obtain information about Microsoft Visual Studio and the tools for developing ### Related samples -* [BarcodeScanner sample](/archived/BarcodeScanner/) for JavaScript (archived) +* [BarcodeScanner sample](/archived/BarcodeScanner/) for JavaScript, Visual Basic, and C++/CX (archived) ## System requirements diff --git a/Samples/BarcodeScanner/cppwinrt/Scenario1_BasicFunctionality.cpp b/Samples/BarcodeScanner/cppwinrt/Scenario1_BasicFunctionality.cpp index e4e65b8db4..bab6a91df7 100644 --- a/Samples/BarcodeScanner/cppwinrt/Scenario1_BasicFunctionality.cpp +++ b/Samples/BarcodeScanner/cppwinrt/Scenario1_BasicFunctionality.cpp @@ -66,6 +66,7 @@ namespace winrt::SDKTemplate::implementation // reset the button state ScenarioEndScanButton().IsEnabled(false); ScenarioStartScanButton().IsEnabled(true); + ScenarioSoftwareTriggerPanel().Visibility(Visibility::Collapsed); } } @@ -102,6 +103,14 @@ namespace winrt::SDKTemplate::implementation m_rootPage.NotifyUser(L"Ready to scan. Device ID: " + m_scanner.DeviceId(), NotifyType::StatusMessage); ScenarioEndScanButton().IsEnabled(true); + + // If the scanner is a software scanner, show the software trigger buttons. + if (!m_scanner.VideoDeviceId().empty()) + { + ScenarioSoftwareTriggerPanel().Visibility(Visibility::Visible); + ScenarioStartTriggerButton().IsEnabled(true); + ScenarioStopTriggerButton().IsEnabled(false); + } } else { @@ -149,4 +158,18 @@ namespace winrt::SDKTemplate::implementation { ResetTheScenarioState(); } + + fire_and_forget Scenario1_BasicFunctionality::ScenarioStartTriggerButton_Click(IInspectable const&, RoutedEventArgs const&) + { + ScenarioStartTriggerButton().IsEnabled(false); + co_await m_claimedScanner.StartSoftwareTriggerAsync(); + ScenarioStopTriggerButton().IsEnabled(true); + } + + fire_and_forget Scenario1_BasicFunctionality::ScenarioStopTriggerButton_Click(IInspectable const&, RoutedEventArgs const&) + { + ScenarioStopTriggerButton().IsEnabled(false); + co_await m_claimedScanner.StopSoftwareTriggerAsync(); + ScenarioStartTriggerButton().IsEnabled(true); + } } diff --git a/Samples/BarcodeScanner/cppwinrt/Scenario1_BasicFunctionality.h b/Samples/BarcodeScanner/cppwinrt/Scenario1_BasicFunctionality.h index 560b3560cf..42d44a915c 100644 --- a/Samples/BarcodeScanner/cppwinrt/Scenario1_BasicFunctionality.h +++ b/Samples/BarcodeScanner/cppwinrt/Scenario1_BasicFunctionality.h @@ -21,6 +21,8 @@ namespace winrt::SDKTemplate::implementation fire_and_forget ScenarioStartScanButton_Click(Windows::Foundation::IInspectable const& sender, Windows::UI::Xaml::RoutedEventArgs const& e); void ScenarioEndScanButton_Click(Windows::Foundation::IInspectable const& sender, Windows::UI::Xaml::RoutedEventArgs const& e); + fire_and_forget ScenarioStartTriggerButton_Click(Windows::Foundation::IInspectable const& sender, Windows::UI::Xaml::RoutedEventArgs const& e); + fire_and_forget ScenarioStopTriggerButton_Click(Windows::Foundation::IInspectable const& sender, Windows::UI::Xaml::RoutedEventArgs const& e); void OnNavigatedTo(Windows::UI::Xaml::Navigation::NavigationEventArgs const& e); void OnNavigatedFrom(Windows::UI::Xaml::Navigation::NavigationEventArgs const& e); diff --git a/Samples/BarcodeScanner/cs/Scenario1_BasicFunctionality.xaml.cs b/Samples/BarcodeScanner/cs/Scenario1_BasicFunctionality.xaml.cs index 5b74e372f7..302d8510d1 100644 --- a/Samples/BarcodeScanner/cs/Scenario1_BasicFunctionality.xaml.cs +++ b/Samples/BarcodeScanner/cs/Scenario1_BasicFunctionality.xaml.cs @@ -95,6 +95,14 @@ private async void ScenarioStartScanButton_Click(object sender, RoutedEventArgs rootPage.NotifyUser("Ready to scan. Device ID: " + claimedScanner.DeviceId, NotifyType.StatusMessage); ScenarioEndScanButton.IsEnabled = true; + + // If the scanner is a software scanner, show the software trigger buttons. + if (!string.IsNullOrEmpty(scanner.VideoDeviceId)) + { + ScenarioSoftwareTriggerPanel.Visibility = Visibility.Visible; + ScenarioStartTriggerButton.IsEnabled = true; + ScenarioStopTriggerButton.IsEnabled = false; + } } else { @@ -172,6 +180,7 @@ private void ResetTheScenarioState() // reset the button state ScenarioEndScanButton.IsEnabled = false; ScenarioStartScanButton.IsEnabled = true; + ScenarioSoftwareTriggerPanel.Visibility = Visibility.Collapsed; } } @@ -187,5 +196,26 @@ private void ScenarioEndScanButton_Click(object sender, RoutedEventArgs e) this.ResetTheScenarioState(); } + /// + /// Event handler for Start Software Trigger button click. + /// Presses the software trigger button. + /// + private async void ScenarioStartTriggerButton_Click(object sender, RoutedEventArgs e) + { + ScenarioStartTriggerButton.IsEnabled = false; + await claimedScanner.StartSoftwareTriggerAsync(); + ScenarioStopTriggerButton.IsEnabled = true; + } + + /// + /// Event handler for Stop Software Trigger button click. + /// Releases the software trigger button. + /// + private async void ScenarioStopTriggerButton_Click(object sender, RoutedEventArgs e) + { + ScenarioStopTriggerButton.IsEnabled = false; + await claimedScanner.StopSoftwareTriggerAsync(); + ScenarioStartTriggerButton.IsEnabled = true; + } } } diff --git a/Samples/BarcodeScanner/shared/Scenario1_BasicFunctionality.xaml b/Samples/BarcodeScanner/shared/Scenario1_BasicFunctionality.xaml index 1535a29cbf..9a986519a1 100644 --- a/Samples/BarcodeScanner/shared/Scenario1_BasicFunctionality.xaml +++ b/Samples/BarcodeScanner/shared/Scenario1_BasicFunctionality.xaml @@ -22,6 +22,7 @@ + @@ -40,7 +41,13 @@