summaryrefslogtreecommitdiff
path: root/pjsip-apps/src/pjsua/winrt/gui/uwp/Voip/MainPage.xaml.cs
diff options
context:
space:
mode:
Diffstat (limited to 'pjsip-apps/src/pjsua/winrt/gui/uwp/Voip/MainPage.xaml.cs')
-rw-r--r--pjsip-apps/src/pjsua/winrt/gui/uwp/Voip/MainPage.xaml.cs136
1 files changed, 136 insertions, 0 deletions
diff --git a/pjsip-apps/src/pjsua/winrt/gui/uwp/Voip/MainPage.xaml.cs b/pjsip-apps/src/pjsua/winrt/gui/uwp/Voip/MainPage.xaml.cs
new file mode 100644
index 00000000..a3d476e0
--- /dev/null
+++ b/pjsip-apps/src/pjsua/winrt/gui/uwp/Voip/MainPage.xaml.cs
@@ -0,0 +1,136 @@
+//*********************************************************
+//
+// Copyright (c) Microsoft. All rights reserved.
+// This code is licensed under the MIT License (MIT).
+// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
+// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
+// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
+// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
+//
+//*********************************************************
+
+using System;
+using VoipUI.Helpers;
+using VoipTasks.BackgroundOperations;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using System.Diagnostics;
+using VoipBackEnd;
+using System.Threading;
+using Windows.ApplicationModel.AppService;
+using Windows.UI.Xaml.Navigation;
+
+namespace VoipUI
+{
+ public sealed partial class MainPage : Page
+ {
+ //App developer should include the logic to prevent the user from being
+ //able to call the Start Call async method multiple times. This is out
+ //of the scope of this sample.
+ private int MethodCallUnexpectedTime = -2147483634;
+
+ public static string callerName, callerNumber;
+ public static MainPage Current;
+
+ public MainPage()
+ {
+ this.InitializeComponent();
+ Current = this;
+ }
+
+ private async void GetAccountInfoAsync()
+ {
+ try
+ {
+ OperationResult result = await EndpointHelper.GetAccountInfo();
+ }
+ catch (Exception ex)
+ {
+ Debug.WriteLine(ex.Message);
+ }
+ }
+
+ private async void ModifyAccountAsync()
+ {
+ try
+ {
+ OperationResult result = await EndpointHelper.ModifyAccount(
+ txt_UserId.Text,
+ txt_Registrar.Text,
+ txt_Proxy.Text,
+ txt_RegUserName.Text,
+ txt_Password.Text);
+ }
+ catch (Exception ex)
+ {
+ Debug.WriteLine(ex.Message);
+ }
+ }
+
+ private async void NewOutgoingCallAsync()
+ {
+ try
+ {
+ OperationResult result = await VoipCallHelper.NewOutgoingCallAsync(txt_CallerNumber.Text);
+ }
+ catch (Exception ex)
+ {
+ Debug.WriteLine(ex.Message);
+ }
+ }
+
+ private void EndCall()
+ {
+ try
+ {
+ OperationResult result = VoipCallHelper.EndCallAsync();
+ }
+ catch (Exception ex)
+ {
+ Debug.WriteLine(ex.Message);
+ }
+ txt_CallStatus.Text = "Disconnected";
+ }
+
+ public void UpdateAccountInfo(String id, String registrar, String proxy,
+ String username, String password)
+ {
+ txt_UserId.Text = id;
+ txt_Registrar.Text = registrar;
+ txt_Proxy.Text = proxy;
+ txt_RegUserName.Text = username;
+ txt_Password.Text = password;
+ }
+
+ private void btn_NewOutgoingCall_Click(object sender, RoutedEventArgs e)
+ {
+ NewOutgoingCallAsync();
+ }
+
+
+ private void btn_EndCall_Click(object sender, RoutedEventArgs e)
+ {
+ EndCall();
+ }
+
+ public void UpdateCallState(String state)
+ {
+ txt_CallStatus.Text = state;
+ }
+
+ public void UpdateRegState(String state)
+ {
+ txt_RegState.Text = "Reg:" + state;
+ }
+
+ private void btn_GetAccountInfo_Click(object sender, RoutedEventArgs e)
+ {
+ GetAccountInfoAsync();
+ }
+
+ private void btn_ModifyAccount_Click(object sender, RoutedEventArgs e)
+ {
+ ModifyAccountAsync();
+ }
+ }
+} \ No newline at end of file