[Tapitest] Added test code for Ss and framework fixes.
authoradhavan.m <adhavan.m@samsung.com>
Fri, 28 Jul 2017 06:57:09 +0000 (12:27 +0530)
committeradhavan.m <adhavan.m@samsung.com>
Fri, 28 Jul 2017 06:57:09 +0000 (12:27 +0530)
Change-Id: Ie15f6e34e8e6a2bba1612129ffb219e51ae01355
Signed-off-by: adhavan.m <adhavan.m@samsung.com>
src/Tizen.Tapi/Tizen.Tapi/Ss.cs
test/Tizen.Tapitest/MainPage.cs
test/Tizen.Tapitest/SsPage.cs [new file with mode: 0755]
test/Tizen.Tapitest/Tizen.Tapitest.csproj

index dd283db..4d33974 100755 (executable)
@@ -73,6 +73,7 @@ namespace Tizen.Tapi
                     {
                         Log.Error(TapiUtility.LogTag, "Error occurs during setting SS barring info: " + (SsCause)result);
                         task.SetException(new InvalidOperationException("Error occurs during setting SS barring info, " + (SsCause)result));
+                        return;
                     }
 
                     SsBarringResponseStruct response = Marshal.PtrToStructure<SsBarringResponseStruct>(data);
@@ -123,6 +124,7 @@ namespace Tizen.Tapi
                     {
                         Log.Error(TapiUtility.LogTag, "Error occurs in getting barring status: " + (SsCause)result);
                         task.SetException(new InvalidOperationException("Error occurs in getting barring status, " + (SsCause)result));
+                        return;
                     }
 
                     SsBarringResponseStruct response = Marshal.PtrToStructure<SsBarringResponseStruct>(data);
@@ -158,7 +160,7 @@ namespace Tizen.Tapi
         /// <exception cref="ArgumentNullException">Thrown when any of the parameter is passed as null.</exception>
         /// <exception cref="ArgumentException">Thrown when it is failed due to invalid parameter.</exception>
         /// <exception cref="InvalidOperationException">Thrown when it is failed due to invalid operation.</exception>
-        public Task SsChangeBarringPassword(string oldPassword, string newPassword, string newPasswordAgain)
+        public Task<bool> SsChangeBarringPassword(string oldPassword, string newPassword, string newPasswordAgain)
         {
             TaskCompletionSource<bool> task = new TaskCompletionSource<bool>();
             IntPtr id = (IntPtr)_requestId++;
@@ -170,6 +172,7 @@ namespace Tizen.Tapi
                     {
                         Log.Error(TapiUtility.LogTag, "Error occurs in changing barring password: " + (SsCause)result);
                         task.SetException(new InvalidOperationException("Error occurs in changing barring password, " + (SsCause)result));
+                        return;
                     }
 
                     task.SetResult(true);
@@ -219,6 +222,7 @@ namespace Tizen.Tapi
                     {
                         Log.Error(TapiUtility.LogTag, "Error occurs in setting SS forward info: " + (SsCause)result);
                         task.SetException(new InvalidOperationException("Error occurs in setting SS forward info, " + (SsCause)result));
+                        return;
                     }
 
                     SsForwardResponseStruct response = Marshal.PtrToStructure<SsForwardResponseStruct>(data);
@@ -269,6 +273,7 @@ namespace Tizen.Tapi
                     {
                         Log.Error(TapiUtility.LogTag, "Error occurs in getting SS forward status: " + (SsCause)result);
                         task.SetException(new InvalidOperationException("Error occurs in getting SS forward status, " + (SsCause)result));
+                        return;
                     }
 
                     SsForwardResponseStruct response = Marshal.PtrToStructure<SsForwardResponseStruct>(data);
@@ -314,6 +319,7 @@ namespace Tizen.Tapi
                     {
                         Log.Error(TapiUtility.LogTag, "Error occurs in setting SS waiting info: " + (SsCause)result);
                         task.SetException(new InvalidOperationException("Error occurs in setting SS waiting info, " + (SsCause)result));
+                        return;
                     }
 
                     SsWaitingResponseStruct response = Marshal.PtrToStructure<SsWaitingResponseStruct>(data);
@@ -363,6 +369,7 @@ namespace Tizen.Tapi
                     {
                         Log.Error(TapiUtility.LogTag, "Error occurs in getting SS waiting info: " + (SsCause)result);
                         task.SetException(new InvalidOperationException("Error occurs in getting SS waiting info, " + (SsCause)result));
+                        return;
                     }
 
                     SsWaitingResponseStruct response = Marshal.PtrToStructure<SsWaitingResponseStruct>(data);
@@ -408,6 +415,7 @@ namespace Tizen.Tapi
                     {
                         Log.Error(TapiUtility.LogTag, "Error occurs in setting SS CLI status: " + (SsCause)result);
                         task.SetException(new InvalidOperationException("Error occurs in setting SS CLI status, " + (SsCause)result));
+                        return;
                     }
 
                     task.SetResult(true);
@@ -450,6 +458,7 @@ namespace Tizen.Tapi
                     {
                         Log.Error(TapiUtility.LogTag, "Error occurs in getting SS CLI status: " + (SsCause)result);
                         task.SetException(new InvalidOperationException("Error occurs in getting SS CLI status, " + (SsCause)result));
+                        return;
                     }
 
                     SsCliResponseStruct response = Marshal.PtrToStructure<SsCliResponseStruct>(data);
@@ -495,6 +504,7 @@ namespace Tizen.Tapi
                     {
                         Log.Error(TapiUtility.LogTag, "Error occurs in sending USSD request: " + (SsCause)result);
                         task.SetException(new InvalidOperationException("Error occurs in sending USSD request, " + (SsCause)result));
+                        return;
                     }
 
                     SsUssdResponseStruct response = Marshal.PtrToStructure<SsUssdResponseStruct>(data);
index f5d7d25..ca3d1e2 100755 (executable)
@@ -55,15 +55,28 @@ namespace XamarinForTizen.Tizen
             };
             phonebookBtn.Clicked += phonebookBtn_Clicked;
 
+            var ssBtn = new Button
+            {
+                Text = "Ss",
+                VerticalOptions = LayoutOptions.Start,
+                HorizontalOptions = LayoutOptions.FillAndExpand
+            };
+            ssBtn.Clicked += ssBtn_Clicked;
+
             Content = new StackLayout
             {
                 VerticalOptions = LayoutOptions.Center,
                 Children = {
-                        commonBtn, callgsmBtn, modemBtn, nwBtn, simBtn, phonebookBtn
+                        commonBtn, callgsmBtn, modemBtn, nwBtn, simBtn, phonebookBtn, ssBtn
                     }
             };
         }
 
+        private async void ssBtn_Clicked(object sender, EventArgs e)
+        {
+            await Navigation.PushAsync(new SsPage());
+        }
+
         private async void phonebookBtn_Clicked(object sender, EventArgs e)
         {
             await Navigation.PushAsync(new PhonebookPage());
diff --git a/test/Tizen.Tapitest/SsPage.cs b/test/Tizen.Tapitest/SsPage.cs
new file mode 100755 (executable)
index 0000000..ad34a12
--- /dev/null
@@ -0,0 +1,421 @@
+using System;
+using Xamarin.Forms;
+using Tizen;
+using Tizen.Tapi;
+using System.Collections.Generic;
+using System.Linq;
+
+namespace XamarinForTizen.Tizen
+{
+    public class SsPage : ContentPage
+    {
+        Ss ss = null;
+        public SsPage()
+        {
+            try
+            {
+                ss = new Ss(Globals.handleModem0);
+            }
+
+            catch (Exception ex)
+            {
+                Log.Debug(Globals.LogTag, "Ss constructor throws exception = " + ex.ToString());
+            }
+
+            var setCfBtn = new Button
+            {
+                Text = "Set SS call forward",
+                VerticalOptions = LayoutOptions.Start,
+                HorizontalOptions = LayoutOptions.FillAndExpand
+            };
+            setCfBtn.Clicked += setCfBtn_Clicked;
+
+            var getCfBtn = new Button
+            {
+                Text = "Get SS call forward status",
+                VerticalOptions = LayoutOptions.Start,
+                HorizontalOptions = LayoutOptions.FillAndExpand
+            };
+            getCfBtn.Clicked += getCfBtn_Clicked;
+
+            var setcwBtn = new Button
+            {
+                Text = "Set SS call waiting",
+                VerticalOptions = LayoutOptions.Start,
+                HorizontalOptions = LayoutOptions.FillAndExpand
+            };
+            setcwBtn.Clicked += setcwBtn_Clicked;
+
+            var getcwBtn = new Button
+            {
+                Text = "Get SS call waiting status",
+                VerticalOptions = LayoutOptions.Start,
+                HorizontalOptions = LayoutOptions.FillAndExpand
+            };
+            getcwBtn.Clicked += getcwBtn_Clicked;
+
+            var setCliBtn = new Button
+            {
+                Text = "Set SS CLI status",
+                VerticalOptions = LayoutOptions.Start,
+                HorizontalOptions = LayoutOptions.FillAndExpand
+            };
+            setCliBtn.Clicked += setCliBtn_Clicked;
+
+            var getCliBtn = new Button
+            {
+                Text = "Get SS CLI status",
+                VerticalOptions = LayoutOptions.Start,
+                HorizontalOptions = LayoutOptions.FillAndExpand
+            };
+            getCliBtn.Clicked += getCliBtn_Clicked;
+
+            var setBarringBtn = new Button
+            {
+                Text = "Set SS barring",
+                VerticalOptions = LayoutOptions.Start,
+                HorizontalOptions = LayoutOptions.FillAndExpand
+            };
+            setBarringBtn.Clicked += setBarringBtn_Clicked;
+
+            var getBarringBtn = new Button
+            {
+                Text = "Get SS barring status",
+                VerticalOptions = LayoutOptions.Start,
+                HorizontalOptions = LayoutOptions.FillAndExpand
+            };
+            getBarringBtn.Clicked += getBarringBtn_Clicked;
+
+            var changeBarringPwBtn = new Button
+            {
+                Text = "Change SS barring password",
+                VerticalOptions = LayoutOptions.Start,
+                HorizontalOptions = LayoutOptions.FillAndExpand
+            };
+            changeBarringPwBtn.Clicked += changeBarringPwBtn_Clicked;
+
+            var sendUssdBtn = new Button
+            {
+                Text = "Ss send USSD request",
+                VerticalOptions = LayoutOptions.Start,
+                HorizontalOptions = LayoutOptions.FillAndExpand
+            };
+            sendUssdBtn.Clicked += sendUssdBtn_Clicked;
+
+            Content = new StackLayout
+            {
+                VerticalOptions = LayoutOptions.Center,
+                Children = {
+                        setCfBtn, getCfBtn, setcwBtn, getcwBtn, setCliBtn, getCliBtn, setBarringBtn, getBarringBtn,
+                        changeBarringPwBtn, sendUssdBtn
+                    }
+            };
+        }
+
+        private async void sendUssdBtn_Clicked(object sender, EventArgs e)
+        {
+            try
+            {
+                Log.Debug(Globals.LogTag, "Ss send ussd request start");
+                SsUssdMsgInfo info = new SsUssdMsgInfo();
+                info.Type = SsUssdType.UserInit;
+                info.UssdString = "*123#";
+                info.Length = info.UssdString.Length;
+                SsUssdResponse resp = await ss.SsSendUssdRequest(info);
+                Log.Debug(Globals.LogTag, "Type: " + resp.Type);
+                Log.Debug(Globals.LogTag, "String: " + resp.UssdString);
+                Log.Debug(Globals.LogTag, "Ss send ussd request success");
+            }
+
+            catch (Exception ex)
+            {
+                Log.Debug(Globals.LogTag, "Ss send ussd request exception: " + ex.ToString());
+            }
+        }
+
+        private async void changeBarringPwBtn_Clicked(object sender, EventArgs e)
+        {
+            try
+            {
+                Log.Debug(Globals.LogTag, "Ss change barring password start");
+                bool b = await ss.SsChangeBarringPassword("1111", "'1234", "1234");
+                if (b)
+                {
+                    Log.Debug(Globals.LogTag, "Ss barring password changed successfully");
+                }
+            }
+
+            catch (Exception ex)
+            {
+                Log.Debug(Globals.LogTag, "Ss change barring password exception: " + ex.ToString());
+            }
+        }
+
+        private async void getBarringBtn_Clicked(object sender, EventArgs e)
+        {
+            try
+            {
+                Log.Debug(Globals.LogTag, "Ss get barring status start");
+                SsBarringResponse resp = await ss.SsGetBarringStatus(SsClass.AllTele, SsBarringType.Aob);
+                Log.Debug(Globals.LogTag, "Record number: " + resp.RecordNumber);
+                List<SsBarringRecord> rec = resp.Record.ToList();
+                for (int i = 0; i < resp.RecordNumber; i++)
+                {
+                    Log.Debug(Globals.LogTag, "[" + i + "] Class: " + rec[i].Class);
+                    Log.Debug(Globals.LogTag, "[" + i + "] Type: " + rec[i].BarringType);
+                    Log.Debug(Globals.LogTag, "[" + i + "] Status: " + rec[i].Status);
+                }
+
+                Log.Debug(Globals.LogTag, "Ss get barring status success");
+            }
+
+            catch (Exception ex)
+            {
+                Log.Debug(Globals.LogTag, "Ss set barring exception: " + ex.ToString());
+            }
+        }
+
+        private async void setBarringBtn_Clicked(object sender, EventArgs e)
+        {
+            TapiHandle handle = Globals.handleModem0;
+            try
+            {
+                Log.Debug(Globals.LogTag, "Ss set barring start");
+                handle.RegisterNotiEvent(Notification.SsNotifyBarring);
+                handle.NotificationChanged += Handle_Barring_NotiEvent;
+                SsBarringInfo info = new SsBarringInfo(SsClass.Voice, SsBarringMode.Activate, SsBarringType.Aob, "0000");
+                SsBarringResponse resp = await ss.SsSetBarring(info);
+                Log.Debug(Globals.LogTag, "Record number: " + resp.RecordNumber);
+                List<SsBarringRecord> rec = resp.Record.ToList();
+                for (int i = 0; i < resp.RecordNumber; i++)
+                {
+                    Log.Debug(Globals.LogTag, "[" + i + "] Class: " + rec[i].Class);
+                    Log.Debug(Globals.LogTag, "[" + i + "] Type: " + rec[i].BarringType);
+                    Log.Debug(Globals.LogTag, "[" + i + "] Status: " + rec[i].Status);
+                }
+
+                Log.Debug(Globals.LogTag, "Ss set barring success");
+            }
+
+            catch (Exception ex)
+            {
+                Log.Debug(Globals.LogTag, "Ss set barring exception: " + ex.ToString());
+            }
+
+            finally
+            {
+                handle.DeregisterNotiEvent(Notification.SsNotifyBarring);
+                handle.NotificationChanged -= Handle_Barring_NotiEvent;
+            }
+        }
+
+        private void Handle_Barring_NotiEvent(object sender, NotificationChangedEventArgs e)
+        {
+            Log.Debug(Globals.LogTag, "Ss barring noti event received");
+            SsBarringResponse resp = (SsBarringResponse)e.Data;
+            Log.Debug(Globals.LogTag, "Record number: " + resp.RecordNumber);
+            List<SsBarringRecord> rec = resp.Record.ToList();
+            for (int i = 0; i < resp.RecordNumber; i++)
+            {
+                Log.Debug(Globals.LogTag, "[" + i + "] Class: " + rec[i].Class);
+                Log.Debug(Globals.LogTag, "[" + i + "] Type: " + rec[i].BarringType);
+                Log.Debug(Globals.LogTag, "[" + i + "] Status: " + rec[i].Status);
+            }
+        }
+
+        private async void getCliBtn_Clicked(object sender, EventArgs e)
+        {
+            try
+            {
+                Log.Debug(Globals.LogTag, "Ss get CLI status start");
+                SsCliResponse resp = await ss.SsGetCliStatus(SsCliType.Clip);
+                Log.Debug(Globals.LogTag, "Type: " + resp.Type);
+                Log.Debug(Globals.LogTag, "Status: " + resp.Status);
+                Log.Debug(Globals.LogTag, "Ss get CLI status success");
+            }
+
+            catch (Exception ex)
+            {
+                Log.Debug(Globals.LogTag, "Ss get CLI status exception: " + ex.ToString());
+            }
+        }
+
+        private async void setCliBtn_Clicked(object sender, EventArgs e)
+        {
+            try
+            {
+                Log.Debug(Globals.LogTag, "Ss set CLI start");
+                bool b = await ss.SsSetCliStatus(SsCliType.Clip, SsCliStatus.Activated);
+                if (b)
+                {
+                    Log.Debug(Globals.LogTag, "Ss set CLI status is success");
+                }
+            }
+
+            catch (Exception ex)
+            {
+                Log.Debug(Globals.LogTag, "Ss set CLI exception: " + ex.ToString());
+            }
+        }
+
+        private async void getcwBtn_Clicked(object sender, EventArgs e)
+        {
+            try
+            {
+                Log.Debug(Globals.LogTag, "Ss get call waiting start");
+                SsWaitingResponse resp = await ss.SsGetWaitingInfo(SsClass.Voice);
+                Log.Debug(Globals.LogTag, "Record number: " + resp.RecordNumber);
+                List<SsWaitingRecord> rec = resp.Record.ToList();
+                for (int i = 0; i < resp.RecordNumber; i++)
+                {
+                    Log.Debug(Globals.LogTag, "[" + i + "] Class: " + rec[i].Class);
+                    Log.Debug(Globals.LogTag, "[" + i + "] Status: " + rec[i].Status);
+                }
+
+                Log.Debug(Globals.LogTag, "Ss get call waiting success");
+            }
+
+            catch (Exception ex)
+            {
+                Log.Debug(Globals.LogTag, "Ss get call waiting exception: " + ex.ToString());
+            }
+        }
+
+        private async void setcwBtn_Clicked(object sender, EventArgs e)
+        {
+            TapiHandle handle = Globals.handleModem0;
+            try
+            {
+                Log.Debug(Globals.LogTag, "Ss set call waiting start");
+                handle.RegisterNotiEvent(Notification.SsNotifyWaiting);
+                handle.NotificationChanged += Handle_CallWaitingNoti;
+                SsWaitingInfo info = new SsWaitingInfo(SsClass.Voice, SsCallWaitingMode.Activate);
+                SsWaitingResponse resp = await ss.SsSetWaitingInfo(info);
+                Log.Debug(Globals.LogTag, "Record number: " + resp.RecordNumber);
+                List<SsWaitingRecord> rec = resp.Record.ToList();
+                for (int i = 0; i < resp.RecordNumber; i++)
+                {
+                    Log.Debug(Globals.LogTag, "[" + i + "] Class: " + rec[i].Class);
+                    Log.Debug(Globals.LogTag, "[" + i + "] Status: " + rec[i].Status);
+                }
+
+                Log.Debug(Globals.LogTag, "Ss set call waiting success");
+            }
+
+            catch (Exception ex)
+            {
+                Log.Debug(Globals.LogTag, "Ss set call waiting exception: " + ex.ToString());
+            }
+
+            finally
+            {
+                handle.DeregisterNotiEvent(Notification.SsNotifyWaiting);
+                handle.NotificationChanged -= Handle_CallWaitingNoti;
+            }
+        }
+
+        private void Handle_CallWaitingNoti(object sender, NotificationChangedEventArgs e)
+        {
+            Log.Debug(Globals.LogTag, "Ss call waiting noti event is received");
+            SsWaitingResponse resp = (SsWaitingResponse)e.Data;
+            Log.Debug(Globals.LogTag, "Record number: " + resp.RecordNumber);
+            List<SsWaitingRecord> rec = resp.Record.ToList();
+            for (int i = 0; i < resp.RecordNumber; i++)
+            {
+                Log.Debug(Globals.LogTag, "[" + i + "] Class: " + rec[i].Class);
+                Log.Debug(Globals.LogTag, "[" + i + "] Status: " + rec[i].Status);
+            }
+        }
+
+        private async void getCfBtn_Clicked(object sender, EventArgs e)
+        {
+            try
+            {
+                Log.Debug(Globals.LogTag, "Ss get call forward start");
+                SsForwardResponse resp = await ss.SsGetForwardStatus(SsClass.Voice, SsForwardCondition.NotReachable);
+                Log.Debug(Globals.LogTag, "Record num: " + resp.RecordNumber);
+                List<SsForwardRecord> rec = resp.Record.ToList();
+                for (int i = 0; i < resp.RecordNumber; i++)
+                {
+                    Log.Debug(Globals.LogTag, "[" + i + "] Class: " + rec[i].Class);
+                    Log.Debug(Globals.LogTag, "[" + i + "] Status: " + rec[i].Status);
+                    Log.Debug(Globals.LogTag, "[" + i + "] ForwardCondition: " + rec[i].ForwardCondition);
+                    Log.Debug(Globals.LogTag, "[" + i + "] IsFwNumPresent: " + rec[i].IsForwardingNumberPresent);
+                    Log.Debug(Globals.LogTag, "[" + i + "] NoReplyTime:: " + rec[i].NoReplyTime);
+                    Log.Debug(Globals.LogTag, "[" + i + "] Ton: " + rec[i].Ton);
+                    Log.Debug(Globals.LogTag, "[" + i + "] Npi: " + rec[i].Npi);
+                    Log.Debug(Globals.LogTag, "[" + i + "] Number: " + rec[i].ForwardingNumber);
+                }
+
+                Log.Debug(Globals.LogTag, "Ss get call forward success");
+            }
+
+            catch (Exception ex)
+            {
+                Log.Debug(Globals.LogTag, "Ss get call forward exception: " + ex.ToString());
+            }
+        }
+
+        private async void setCfBtn_Clicked(object sender, EventArgs e)
+        {
+            TapiHandle handle = Globals.handleModem0;
+            try
+            {
+                Log.Debug(Globals.LogTag, "Ss set call forward start");
+                handle.RegisterNotiEvent(Notification.SsNotifyForwarding);
+                handle.NotificationChanged += Handle_CallForwardNotiEvent;
+                SsForwardInfo cfInfo = new SsForwardInfo(SsClass.Voice, SsForwardMode.Enable, SsForwardCondition.NotReachable, SsNoReplyTime.Time5Secs, SsForwardTypeOfNumber.National, SsForwardNumberingPlanIdentity.National, "9589874552");
+                SsForwardResponse resp = await ss.SsSetForwardInfo(cfInfo);
+                Log.Debug(Globals.LogTag, "Record num: " + resp.RecordNumber);
+                List<SsForwardRecord> rec = resp.Record.ToList();
+                for (int i = 0; i < resp.RecordNumber; i++)
+                {
+                    Log.Debug(Globals.LogTag, "[" + i + "] Class: " + rec[i].Class);
+                    Log.Debug(Globals.LogTag, "[" + i + "] Status: " + rec[i].Status);
+                    Log.Debug(Globals.LogTag, "[" + i + "] ForwardCondition: " + rec[i].ForwardCondition);
+                    Log.Debug(Globals.LogTag, "[" + i + "] IsFwNumPresent: " + rec[i].IsForwardingNumberPresent);
+                    Log.Debug(Globals.LogTag, "[" + i + "] NoReplyTime:: " + rec[i].NoReplyTime);
+                    Log.Debug(Globals.LogTag, "[" + i + "] Ton: " + rec[i].Ton);
+                    Log.Debug(Globals.LogTag, "[" + i + "] Npi: " + rec[i].Npi);
+                    Log.Debug(Globals.LogTag, "[" + i + "] Number: " + rec[i].ForwardingNumber);
+                }
+
+                Log.Debug(Globals.LogTag, "Ss set call forward success");
+            }
+
+            catch(Exception ex)
+            {
+                Log.Debug(Globals.LogTag, "Ss set call forward exception: " + ex.ToString());
+            }
+
+            finally
+            {
+                handle.DeregisterNotiEvent(Notification.SsNotifyForwarding);
+                handle.NotificationChanged -= Handle_CallForwardNotiEvent;
+            }
+        }
+
+        private void Handle_CallForwardNotiEvent(object sender, NotificationChangedEventArgs e)
+        {
+            Log.Debug(Globals.LogTag, "Call forward noti event received");
+            SsForwardResponse resp = (SsForwardResponse)e.Data;
+            Log.Debug(Globals.LogTag, "Record number: " + resp.RecordNumber);
+            List<SsForwardRecord> rec = resp.Record.ToList();
+            for (int i = 0; i < resp.RecordNumber; i++)
+            {
+                Log.Debug(Globals.LogTag, "[" + i + "] Class: " + rec[i].Class);
+                Log.Debug(Globals.LogTag, "[" + i + "] Status: " + rec[i].Status);
+                Log.Debug(Globals.LogTag, "[" + i + "] ForwardCondition: " + rec[i].ForwardCondition);
+                Log.Debug(Globals.LogTag, "[" + i + "] IsFwNumPresent: " + rec[i].IsForwardingNumberPresent);
+                Log.Debug(Globals.LogTag, "[" + i + "] NoReplyTime:: " + rec[i].NoReplyTime);
+                Log.Debug(Globals.LogTag, "[" + i + "] Ton: " + rec[i].Ton);
+                Log.Debug(Globals.LogTag, "[" + i + "] Npi: " + rec[i].Npi);
+                Log.Debug(Globals.LogTag, "[" + i + "] Number: " + rec[i].ForwardingNumber);
+            }
+        }
+
+        ~SsPage()
+        {
+        }
+    }
+}
index 5cee5c9..c10f988 100755 (executable)
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>8.0.30703</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectTypeGuids>{2F98DAC9-6F16-457B-AED7-D43CAC379341};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
-    <ProjectGuid>{BC2C461D-A67A-47FF-8AAA-D584BD379226}</ProjectGuid>
-    <OutputType>Exe</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>Tizen.Tapitest</RootNamespace>
-    <AssemblyName>Tizen.Tapitest</AssemblyName>
-    <FileAlignment>512</FileAlignment>
-    <DefaultLanguage>en-US</DefaultLanguage>
-  </PropertyGroup>
-  <PropertyGroup>
-    <TargetFrameworkIdentifier>.NETCoreApp</TargetFrameworkIdentifier>
-    <TargetFrameworkVersion>v1.0</TargetFrameworkVersion>
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>
-    <NuGetTargetMoniker>.NETCoreApp,Version=v1.0</NuGetTargetMoniker>
-    <TargetFrameworkMoniker>.NETCoreApp,Version=v1.0</TargetFrameworkMoniker>
-    <NoStdLib>true</NoStdLib>
-    <NoWarn>$(NoWarn);1701</NoWarn>
-    <UseVSHostingProcess>false</UseVSHostingProcess>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <ItemGroup>
-    <None Include="Tizen.Tapitest.project.json" />
-    <None Include="tizen-manifest.xml" />
-    <None Include="shared\res\Tizen.Tapitest.png" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="CallgsmPage.cs" />
-    <Compile Include="CommonPage.cs" />
-    <Compile Include="PhonebookPage.cs" />
-    <Compile Include="SimPage.cs" />
-    <Compile Include="ModemPage.cs" />
-    <Compile Include="MainPage.cs" />
-    <Compile Include="NetworkPage.cs" />
-    <Compile Include="Program.cs" />
-    <Compile Include="Properties\AssemblyInfo.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\Tizen.Tapi\Tizen.Tapi.csproj">
-      <Project>{5bf0618d-32ca-4356-b25b-11bdfd0e6119}</Project>
-      <Name>Tizen.Tapi</Name>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(MSBuildExtensionsPath)\Tizen\Tizen.CSharp.GBS.targets" Condition="Exists('$(MSBuildExtensionsPath)\Tizen\Tizen.CSharp.GBS.targets')" />
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>8.0.30703</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectTypeGuids>{2F98DAC9-6F16-457B-AED7-D43CAC379341};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>\r
+    <ProjectGuid>{BC2C461D-A67A-47FF-8AAA-D584BD379226}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>Tizen.Tapitest</RootNamespace>\r
+    <AssemblyName>Tizen.Tapitest</AssemblyName>\r
+    <FileAlignment>512</FileAlignment>\r
+    <DefaultLanguage>en-US</DefaultLanguage>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <TargetFrameworkIdentifier>.NETCoreApp</TargetFrameworkIdentifier>\r
+    <TargetFrameworkVersion>v1.0</TargetFrameworkVersion>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+    <NuGetTargetMoniker>.NETCoreApp,Version=v1.0</NuGetTargetMoniker>\r
+    <TargetFrameworkMoniker>.NETCoreApp,Version=v1.0</TargetFrameworkMoniker>\r
+    <NoStdLib>true</NoStdLib>\r
+    <NoWarn>$(NoWarn);1701</NoWarn>\r
+    <UseVSHostingProcess>false</UseVSHostingProcess>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <Optimize>false</Optimize>\r
+    <OutputPath>bin\Debug\</OutputPath>\r
+    <DefineConstants>DEBUG;TRACE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <Optimize>true</Optimize>\r
+    <OutputPath>bin\Release\</OutputPath>\r
+    <DefineConstants>TRACE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <None Include="Tizen.Tapitest.project.json" />\r
+    <None Include="tizen-manifest.xml" />\r
+    <None Include="shared\res\Tizen.Tapitest.png" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Compile Include="CallgsmPage.cs" />\r
+    <Compile Include="CommonPage.cs" />\r
+    <Compile Include="SsPage.cs" />\r
+    <Compile Include="PhonebookPage.cs" />\r
+    <Compile Include="SimPage.cs" />\r
+    <Compile Include="ModemPage.cs" />\r
+    <Compile Include="MainPage.cs" />\r
+    <Compile Include="NetworkPage.cs" />\r
+    <Compile Include="Program.cs" />\r
+    <Compile Include="Properties\AssemblyInfo.cs" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="..\Tizen.Tapi\Tizen.Tapi.csproj">\r
+      <Project>{5bf0618d-32ca-4356-b25b-11bdfd0e6119}</Project>\r
+      <Name>Tizen.Tapi</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <Import Project="$(MSBuildExtensionsPath)\Tizen\Tizen.CSharp.GBS.targets" Condition="Exists('$(MSBuildExtensionsPath)\Tizen\Tizen.CSharp.GBS.targets')" />\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
         Other similar extension points exist, see Microsoft.Common.targets.
     <Target Name="BeforeBuild">
     </Target>
     <Target Name="AfterBuild">
     </Target>
-    -->
-  <PropertyGroup>
+    -->\r
+  <PropertyGroup>\r
     <!-- https://github.com/dotnet/corefxlab/tree/master/samples/NetCoreSample and
              https://docs.microsoft.com/en-us/dotnet/articles/core/tutorials/target-dotnetcore-with-msbuild
-        -->
+        -->\r
     <!-- We don't use any of MSBuild's resolution logic for resolving the framework, so just set these two
              properties to any folder that exists to skip the GetReferenceAssemblyPaths task (not target) and
              to prevent it from outputting a warning (MSB3644).
-        -->
-    <_TargetFrameworkDirectories>$(MSBuildThisFileDirectory)</_TargetFrameworkDirectories>
-    <_FullFrameworkReferenceAssemblyPaths>$(MSBuildThisFileDirectory)</_FullFrameworkReferenceAssemblyPaths>
-    <AutoUnifyAssemblyReferences>true</AutoUnifyAssemblyReferences>
-  </PropertyGroup>
-  <!-- Include tasks for Tizen -->
-  <PropertyGroup>
-    <TizenBuildPath>$(MSBuildExtensionsPath)\Tizen</TizenBuildPath>
-    <TizenToolsPath>$(TizenBuildPath)\bin</TizenToolsPath>
-  </PropertyGroup>
-  <UsingTask TaskName="Tizen.Tasks.SignPackage.TizenCleanPackageSource" AssemblyFile="$(TizenToolsPath)\Tizen.Tasks.SignPackage.dll" />
-  <UsingTask TaskName="Tizen.Tasks.SignPackage.TizenPreparePackageManifest" AssemblyFile="$(TizenToolsPath)\Tizen.Tasks.SignPackage.dll" />
-  <UsingTask TaskName="Tizen.Tasks.SignPackage.TizenPreparePackageSource" AssemblyFile="$(TizenToolsPath)\Tizen.Tasks.SignPackage.dll" />
-  <UsingTask TaskName="Tizen.Tasks.SignPackage.TizenSignPackage" AssemblyFile="$(TizenToolsPath)\Tizen.Tasks.SignPackage.dll" />
-  <!-- Task to clean package source -->
-  <Target Name="_TizenCleanPkgSrc">
-    <TizenCleanPackageSource SolutionPath="$(SolutionPath)" ProjectPath="$(MSBuildProjectFullPath)" />
-  </Target>
-  <!-- Task to prepare tizen-manifest.xml file -->
-  <Target Name="_TizenPrepManifest">
-    <TizenPreparePackageManifest SolutionPath="$(SolutionPath)" ProjectPath="$(MSBuildProjectFullPath)" />
-  </Target>
-  <!-- Task to prepare package sources(executable, dlls, resource files) -->
-  <Target Name="_TizenPrepPkgSrc">
-    <TizenPreparePackageSource SolutionPath="$(SolutionPath)" ProjectPath="$(MSBuildProjectFullPath)" AssemblyName="$(AssemblyName)" TargetPath="$(TargetPath)" />
-  </Target>
-  <!-- Task to signing and packaging -->
-  <Target Name="_TizenSignPackge">
-    <TizenSignPackage SolutionPath="$(SolutionPath)" ProjectPath="$(MSBuildProjectFullPath)" SolutionName="$(SolutionName)" AuthorCertificate="$(AuthorCertificate)" AuthorPasswd="$(AuthorPasswd)" DistribCertificate="$(DistribCertificate)" DistribPasswd="$(DistribPasswd)" />
-  </Target>
-  <ProjectExtensions>
-    <VisualStudio>
-      <FlavorProperties GUID="{2F98DAC9-6F16-457B-AED7-D43CAC379341}" Configuration="Debug|Any CPU">
-        <ProjectCommonFlavorCfg />
-      </FlavorProperties>
-      <FlavorProperties GUID="{2F98DAC9-6F16-457B-AED7-D43CAC379341}" Configuration="Release|Any CPU">
-        <ProjectCommonFlavorCfg />
-      </FlavorProperties>
-    </VisualStudio>
-  </ProjectExtensions>
+        -->\r
+    <_TargetFrameworkDirectories>$(MSBuildThisFileDirectory)</_TargetFrameworkDirectories>\r
+    <_FullFrameworkReferenceAssemblyPaths>$(MSBuildThisFileDirectory)</_FullFrameworkReferenceAssemblyPaths>\r
+    <AutoUnifyAssemblyReferences>true</AutoUnifyAssemblyReferences>\r
+  </PropertyGroup>\r
+  <!-- Include tasks for Tizen -->\r
+  <PropertyGroup>\r
+    <TizenBuildPath>$(MSBuildExtensionsPath)\Tizen</TizenBuildPath>\r
+    <TizenToolsPath>$(TizenBuildPath)\bin</TizenToolsPath>\r
+  </PropertyGroup>\r
+  <UsingTask TaskName="Tizen.Tasks.SignPackage.TizenCleanPackageSource" AssemblyFile="$(TizenToolsPath)\Tizen.Tasks.SignPackage.dll" />\r
+  <UsingTask TaskName="Tizen.Tasks.SignPackage.TizenPreparePackageManifest" AssemblyFile="$(TizenToolsPath)\Tizen.Tasks.SignPackage.dll" />\r
+  <UsingTask TaskName="Tizen.Tasks.SignPackage.TizenPreparePackageSource" AssemblyFile="$(TizenToolsPath)\Tizen.Tasks.SignPackage.dll" />\r
+  <UsingTask TaskName="Tizen.Tasks.SignPackage.TizenSignPackage" AssemblyFile="$(TizenToolsPath)\Tizen.Tasks.SignPackage.dll" />\r
+  <!-- Task to clean package source -->\r
+  <Target Name="_TizenCleanPkgSrc">\r
+    <TizenCleanPackageSource SolutionPath="$(SolutionPath)" ProjectPath="$(MSBuildProjectFullPath)" />\r
+  </Target>\r
+  <!-- Task to prepare tizen-manifest.xml file -->\r
+  <Target Name="_TizenPrepManifest">\r
+    <TizenPreparePackageManifest SolutionPath="$(SolutionPath)" ProjectPath="$(MSBuildProjectFullPath)" />\r
+  </Target>\r
+  <!-- Task to prepare package sources(executable, dlls, resource files) -->\r
+  <Target Name="_TizenPrepPkgSrc">\r
+    <TizenPreparePackageSource SolutionPath="$(SolutionPath)" ProjectPath="$(MSBuildProjectFullPath)" AssemblyName="$(AssemblyName)" TargetPath="$(TargetPath)" />\r
+  </Target>\r
+  <!-- Task to signing and packaging -->\r
+  <Target Name="_TizenSignPackge">\r
+    <TizenSignPackage SolutionPath="$(SolutionPath)" ProjectPath="$(MSBuildProjectFullPath)" SolutionName="$(SolutionName)" AuthorCertificate="$(AuthorCertificate)" AuthorPasswd="$(AuthorPasswd)" DistribCertificate="$(DistribCertificate)" DistribPasswd="$(DistribPasswd)" />\r
+  </Target>\r
+  <ProjectExtensions>\r
+    <VisualStudio>\r
+      <FlavorProperties GUID="{2F98DAC9-6F16-457B-AED7-D43CAC379341}" Configuration="Debug|Any CPU">\r
+        <ProjectCommonFlavorCfg />\r
+      </FlavorProperties>\r
+      <FlavorProperties GUID="{2F98DAC9-6F16-457B-AED7-D43CAC379341}" Configuration="Release|Any CPU">\r
+        <ProjectCommonFlavorCfg />\r
+      </FlavorProperties>\r
+    </VisualStudio>\r
+  </ProjectExtensions>\r
 </Project>
\ No newline at end of file