Fix exception handling for Satellite
authorkj7.sung <kj7.sung@samsung.com>
Thu, 3 Nov 2016 07:11:51 +0000 (16:11 +0900)
committerkj7.sung <kj7.sung@samsung.com>
Thu, 3 Nov 2016 11:02:22 +0000 (20:02 +0900)
Change-Id: I97b6c88e25a53b14e7ba99a9eb1d32e5c68f1906
Signed-off-by: kj7.sung <kj7.sung@samsung.com>
Tizen.Location/Tizen.Location/GpsSatellite.cs
Tizen.Location/Tizen.Location/Location.cs
Tizen.Location/Tizen.Location/LocationError.cs
Tizen.Location/Tizen.Location/Locator.cs
Tizen.Location/Tizen.Location/LocatorHelper.cs

index f3bc18d..4c04081 100755 (executable)
@@ -54,7 +54,7 @@ namespace Tizen.Location
                     else
                     {
                         Log.Error(Globals.LogTag, "Error Setting the Callback Interval");
-                        LocationErrorFactory.ThrowLocationException((int)LocationError.InvalidParameter);
+                        throw LocationErrorFactory.ThrowLocationException((int)LocationError.InvalidParameter);
                     }
                 }
             }
@@ -75,7 +75,12 @@ namespace Tizen.Location
         private string GetNmea()
         {
             string value = null;
-            Interop.GpsSatellite.GetNMEAData(_handle, out value);
+            int ret = Interop.GpsSatellite.GetNMEAData(_handle, out value);
+            if (((LocationError)ret != LocationError.None))
+            {
+                Log.Error(Globals.LogTag, "Error getting the NMEAData," + (LocationError)ret);
+                throw LocationErrorFactory.ThrowLocationException(ret);
+            }
 
             return value;
         }
@@ -98,7 +103,12 @@ namespace Tizen.Location
             uint numActive = 0;
             uint numInView;
             int timestamp;
-            Interop.GpsSatellite.GetSatelliteStatus(_handle, out numActive, out numInView, out timestamp);
+            int ret = Interop.GpsSatellite.GetSatelliteStatus(_handle, out numActive, out numInView, out timestamp);
+            if (((LocationError)ret != LocationError.None))
+            {
+                Log.Error(Globals.LogTag, "Error getting the satellite" + (LocationError)ret);
+                throw LocationErrorFactory.ThrowLocationException(ret);
+            }
             return numActive;
         }
 
@@ -144,7 +154,12 @@ namespace Tizen.Location
                 satelliteList.Add(satellite);
                 return true;
             };
-            Interop.GpsSatellite.GetForEachSatelliteInView(_handle, callback, IntPtr.Zero);
+            int ret = Interop.GpsSatellite.GetForEachSatelliteInView(_handle, callback, IntPtr.Zero);
+            if (((LocationError)ret != LocationError.None))
+            {
+                Log.Error(Globals.LogTag, "Error getting the satellite" + (LocationError)ret);
+                throw LocationErrorFactory.ThrowLocationException(ret);
+            }
             return satelliteList;
         }
 
@@ -164,7 +179,7 @@ namespace Tizen.Location
             else
             {
                 Log.Error(Globals.LogTag, "Error constructing GpsSatellite class");
-                LocationErrorFactory.ThrowLocationException((int)LocationError.InvalidParameter);
+                throw LocationErrorFactory.ThrowLocationException((int)LocationError.InvalidParameter);
             }
         }
 
@@ -204,7 +219,7 @@ namespace Tizen.Location
             if (((LocationError)ret != LocationError.None))
             {
                 Log.Error(Globals.LogTag, "Error in setting satellite status changed callback," + (LocationError)ret);
-                LocationErrorFactory.ThrowLocationException(ret);
+                throw LocationErrorFactory.ThrowLocationException(ret);
             }
         }
 
@@ -215,7 +230,7 @@ namespace Tizen.Location
             if (((LocationError)ret != LocationError.None))
             {
                 Log.Error(Globals.LogTag, "Error in Getting Unsetting satellite status changed callback," + (LocationError)ret);
-                LocationErrorFactory.ThrowLocationException(ret);
+                throw LocationErrorFactory.ThrowLocationException(ret);
             }
         }
 
index eedd8a7..f57f53d 100755 (executable)
@@ -183,7 +183,7 @@ namespace Tizen.Location
             if (((LocationError)ret != LocationError.None))
             {
                 Log.Error(Globals.LogTag, "Error getting single distance information ," + (LocationError)ret);
-                LocationErrorFactory.ThrowLocationException(ret);
+                throw LocationErrorFactory.ThrowLocationException(ret);
             }
             return result;
         }
@@ -201,7 +201,7 @@ namespace Tizen.Location
             if (((LocationError)ret != LocationError.None))
             {
                 Log.Error(Globals.LogTag, "Error getting distance information to the specifed location," + (LocationError)ret);
-                LocationErrorFactory.ThrowLocationException(ret);
+                throw LocationErrorFactory.ThrowLocationException(ret);
             }
             return result;
         }
index d2a55b4..8a85748 100755 (executable)
@@ -60,27 +60,28 @@ namespace Tizen.Location
     {
         internal static Exception ThrowLocationException(int errCode)
         {
+            Log.Error(Globals.LogTag, "Throw Location Exception : " + errCode);
             LocationError error = (LocationError)errCode;
             switch (error)
             {
+                case LocationError.OutOfMemoryError:
+                    return new InvalidOperationException("Out of memory error");
+                case LocationError.InvalidParameter:
+                    return new ArgumentException("Invalid Parameter passed");
                 case LocationError.AcessibilityNotallowed:
-                    return new InvalidOperationException("Accesibility not allowed");
-                case LocationError.SettingOff:
-                    return new InvalidOperationException("Current locationtype setting is off");
+                    return new UnauthorizedAccessException("Accesibility not allowed");
+                case LocationError.NotSupported:
+                    return new NotSupportedException("Not supported");
                 case LocationError.IncorrectMethod:
                     return new InvalidOperationException("Incorrect method used");
-                case LocationError.InvalidParameter:
-                    return new ArgumentException("Invalid Parameter passed");
                 case LocationError.NetworkFailed:
                     return new InvalidOperationException("Network failed");
-                case LocationError.NotSupported:
-                    return new InvalidOperationException("Operation not supported");
-                case LocationError.OutOfMemoryError:
-                    return new InvalidOperationException("Out of memory error");
-                case LocationError.SecuirtyRestricted:
-                    return new InvalidOperationException("Security Restricted");
                 case LocationError.ServiceNotAvailable:
                     return new InvalidOperationException("Service not available");
+                case LocationError.SettingOff:
+                    return new InvalidOperationException("Current locationtype setting is off");
+                case LocationError.SecuirtyRestricted:
+                    return new InvalidOperationException("Security Restricted");
                 default:
                     return new InvalidOperationException("Unknown Error");
             }
@@ -91,16 +92,16 @@ namespace Tizen.Location
             LocationBoundError error = (LocationBoundError)errCode;
             switch (error)
             {
-                case LocationBoundError.IncorrectType:
-                    return new InvalidOperationException("Incorrect type passed");
+                case LocationBoundError.OutOfMemoryError:
+                    return new InvalidOperationException("Out of memory exception");
                 case LocationBoundError.InvalidParameter:
                     return new ArgumentException("Invalid parameter passed");
+                case LocationBoundError.NotSupported:
+                    return new NotSupportedException("Not supported");
+                case LocationBoundError.IncorrectType:
+                    return new InvalidOperationException("Incorrect type passed");
                 case LocationBoundError.IsAdded:
                     return new InvalidOperationException("Boundary is not addded");
-                case LocationBoundError.NotSupported:
-                    return new InvalidOperationException("Operation Not supported");
-                case LocationBoundError.OutOfMemoryError:
-                    return new InvalidOperationException("Out of memory exception");
                 default:
                     return new InvalidOperationException("Unknown Error");
             }
index 116e54f..d95f6e3 100755 (executable)
@@ -64,7 +64,7 @@ namespace Tizen.Location
             if (((LocationError)ret != LocationError.None))
             {
                 Log.Error(Globals.LogTag, "Error creating Location Manager," + (LocationError)ret);
-                LocationErrorFactory.ThrowLocationException(ret);
+                throw LocationErrorFactory.ThrowLocationException(ret);
             }
             _location = new Location();
             _locationType = locationType;
@@ -103,7 +103,7 @@ namespace Tizen.Location
                 else
                 {
                     Log.Error(Globals.LogTag, "Error setting Callback Interval");
-                    LocationErrorFactory.ThrowLocationException((int)LocationError.InvalidParameter);
+                    throw LocationErrorFactory.ThrowLocationException((int)LocationError.InvalidParameter);
                 }
             }
         }
@@ -133,7 +133,7 @@ namespace Tizen.Location
                 else
                 {
                     Log.Error(Globals.LogTag, "Error Setting the StayInterval");
-                    LocationErrorFactory.ThrowLocationException((int)LocationError.InvalidParameter);
+                    throw LocationErrorFactory.ThrowLocationException((int)LocationError.InvalidParameter);
                 }
             }
         }
@@ -163,7 +163,7 @@ namespace Tizen.Location
                 else
                 {
                     Log.Error(Globals.LogTag, "Error Setting the Distance");
-                    LocationErrorFactory.ThrowLocationException((int)LocationError.InvalidParameter);
+                    throw LocationErrorFactory.ThrowLocationException((int)LocationError.InvalidParameter);
                 }
             }
         }
@@ -220,7 +220,7 @@ namespace Tizen.Location
             if (((LocationError)ret != LocationError.None))
             {
                 Log.Error(Globals.LogTag, "Error Set Enable Mock Type," + (LocationError)ret);
-                LocationErrorFactory.ThrowLocationException(ret);
+                throw LocationErrorFactory.ThrowLocationException(ret);
             }
         }
 
@@ -236,7 +236,7 @@ namespace Tizen.Location
                 if (((LocationError)ret != LocationError.None))
                 {
                     Log.Error(Globals.LogTag, "Error Starting Location Manager," + (LocationError)ret);
-                    LocationErrorFactory.ThrowLocationException(ret);
+                    throw LocationErrorFactory.ThrowLocationException(ret);
                 }
                 Locator.s_locatorReference = this;
                 _isStarted = true;
@@ -245,7 +245,7 @@ namespace Tizen.Location
             else
             {
                 Log.Error(Globals.LogTag, "Error, previous instance of Locator should be stopped before starting a new one," + LocationError.NotSupported);
-                LocationErrorFactory.ThrowLocationException((int)LocationError.NotSupported);
+                throw LocationErrorFactory.ThrowLocationException((int)LocationError.NotSupported);
             }
         }
 
@@ -260,7 +260,7 @@ namespace Tizen.Location
             if (((LocationError)ret != LocationError.None))
             {
                 Log.Error(Globals.LogTag, "Error stopping Location Manager," + (LocationError)ret);
-                LocationErrorFactory.ThrowLocationException(ret);
+                throw LocationErrorFactory.ThrowLocationException(ret);
             }
             Locator.s_locatorReference = null;
             _isStarted = false;
@@ -286,7 +286,7 @@ namespace Tizen.Location
             else
             {
                 Log.Error(Globals.LogTag, "Error in setting up location mocking," + (LocationError)ret);
-                LocationErrorFactory.ThrowLocationException(ret);
+                throw LocationErrorFactory.ThrowLocationException(ret);
             }
         }
 
@@ -300,7 +300,7 @@ namespace Tizen.Location
             if (((LocationError)ret != LocationError.None))
             {
                 Log.Error(Globals.LogTag, "Error in clear up location mocking," + (LocationError)ret);
-                LocationErrorFactory.ThrowLocationException(ret);
+                throw LocationErrorFactory.ThrowLocationException(ret);
             }
         }
 
@@ -339,7 +339,7 @@ namespace Tizen.Location
             if (((LocationError)ret != LocationError.None))
             {
                 Log.Error(Globals.LogTag, "Error in setting up location mocking," + (LocationError)ret);
-                LocationErrorFactory.ThrowLocationException(ret);
+                throw LocationErrorFactory.ThrowLocationException(ret);
             }
             return task.Task;
         }
@@ -369,7 +369,7 @@ namespace Tizen.Location
                 if (((LocationError)ret != LocationError.None))
                 {
                     Log.Error(Globals.LogTag, "Error in get current location infomation," + (LocationError)ret);
-                    LocationErrorFactory.ThrowLocationException(ret);
+                    throw LocationErrorFactory.ThrowLocationException(ret);
                 }
             }
             else
@@ -379,7 +379,7 @@ namespace Tizen.Location
                 if (((LocationError)ret != LocationError.None))
                 {
                     Log.Error(Globals.LogTag, "Error in get last location information," + (LocationError)ret);
-                    LocationErrorFactory.ThrowLocationException(ret);
+                    throw LocationErrorFactory.ThrowLocationException(ret);
                 }
             }
 
@@ -402,7 +402,7 @@ namespace Tizen.Location
             if ((LocationBoundError)ret != LocationBoundError.None)
             {
                 Log.Error(Globals.LogTag, "Error Adding Boundary," + (LocationBoundError)ret);
-                LocationErrorFactory.ThrowLocationBoundaryException(ret);
+                throw LocationErrorFactory.ThrowLocationBoundaryException(ret);
             }
         }
 
@@ -417,7 +417,7 @@ namespace Tizen.Location
             if ((LocationBoundError)ret != LocationBoundError.None)
             {
                 Log.Error(Globals.LogTag, "Error Removing Boundary," + (LocationBoundError)ret);
-                LocationErrorFactory.ThrowLocationBoundaryException(ret);
+                throw LocationErrorFactory.ThrowLocationBoundaryException(ret);
             }
         }
 
@@ -445,7 +445,7 @@ namespace Tizen.Location
             if (((LocationError)ret != LocationError.None))
             {
                 Log.Error(Globals.LogTag, "Error in Destroy handle" + (LocationError)ret);
-                LocationErrorFactory.ThrowLocationException(ret);
+                throw LocationErrorFactory.ThrowLocationException(ret);
             }
         }
 
@@ -484,7 +484,7 @@ namespace Tizen.Location
             if (((LocationError)ret != LocationError.None))
             {
                 Log.Error(Globals.LogTag, "Error in Setting Service State Changed Callback," + (LocationError)ret);
-                LocationErrorFactory.ThrowLocationException(ret);
+                throw LocationErrorFactory.ThrowLocationException(ret);
             }
         }
 
@@ -495,7 +495,7 @@ namespace Tizen.Location
             if (((LocationError)ret != LocationError.None))
             {
                 Log.Error(Globals.LogTag, "Error in UnSetting Service State Changed Callback," + (LocationError)ret);
-                LocationErrorFactory.ThrowLocationException(ret);
+                throw LocationErrorFactory.ThrowLocationException(ret);
             }
         }
 
@@ -540,7 +540,7 @@ namespace Tizen.Location
             if (((LocationError)ret != LocationError.None))
             {
                 Log.Error(Globals.LogTag, "Error in Setting Zone Changed Callback," + (LocationError)ret);
-                LocationErrorFactory.ThrowLocationException(ret);
+                throw LocationErrorFactory.ThrowLocationException(ret);
             }
         }
 
@@ -601,7 +601,7 @@ namespace Tizen.Location
             if (((LocationError)ret != LocationError.None))
             {
                 Log.Error(Globals.LogTag, "Error in Setting Changed Callback," + (LocationError)ret);
-                LocationErrorFactory.ThrowLocationException(ret);
+                throw LocationErrorFactory.ThrowLocationException(ret);
             }
         }
 
@@ -612,7 +612,7 @@ namespace Tizen.Location
             if (((LocationError)ret != LocationError.None))
             {
                 Log.Error(Globals.LogTag, "Error in Unsetting Setting's Callback," + (LocationError)ret);
-                LocationErrorFactory.ThrowLocationException(ret);
+                throw LocationErrorFactory.ThrowLocationException(ret);
             }
         }
 
@@ -658,7 +658,7 @@ namespace Tizen.Location
             if (((LocationError)ret != LocationError.None))
             {
                 Log.Error(Globals.LogTag, "Error in Setting Distance based location changed Callback," + (LocationError)ret);
-                LocationErrorFactory.ThrowLocationException(ret);
+                throw LocationErrorFactory.ThrowLocationException(ret);
             }
         }
 
@@ -669,7 +669,7 @@ namespace Tizen.Location
             if (((LocationError)ret != LocationError.None))
             {
                 Log.Error(Globals.LogTag, "Error in UnSetting Distance based location changed Callback," + (LocationError)ret);
-                LocationErrorFactory.ThrowLocationException(ret);
+                throw LocationErrorFactory.ThrowLocationException(ret);
             }
         }
 
@@ -716,7 +716,7 @@ namespace Tizen.Location
             if (((LocationError)ret != LocationError.None))
             {
                 Log.Error(Globals.LogTag, "Error in Setting location changed Callback," + (LocationError)ret);
-                LocationErrorFactory.ThrowLocationException(ret);
+                throw LocationErrorFactory.ThrowLocationException(ret);
             }
         }
 
@@ -727,7 +727,7 @@ namespace Tizen.Location
             if (((LocationError)ret != LocationError.None))
             {
                 Log.Error(Globals.LogTag, "Error in UnSetting location changed Callback," + (LocationError)ret);
-                LocationErrorFactory.ThrowLocationException(ret);
+                throw LocationErrorFactory.ThrowLocationException(ret);
             }
         }
 
index 61e3104..d3e2479 100755 (executable)
@@ -45,7 +45,7 @@ namespace Tizen.Location
             if (((LocationError)ret != LocationError.None))
             {
                 Log.Error(Globals.LogTag, "Error Checking the Location Manager type is Enabled," + (LocationError)ret);
-                LocationErrorFactory.ThrowLocationException(ret);
+                throw LocationErrorFactory.ThrowLocationException(ret);
             }
             return initStatus;
         }