Release 4.0.0-preview1-00051
[platform/core/csapi/tizenfx.git] / src / Tizen.Location / Tizen.Location / LocatorHelper.cs
1 /*
2  * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * Licensed under the Apache License, Version 2.0 (the License);
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an AS IS BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 using System;
18
19 namespace Tizen.Location
20 {
21     public static class LocatorHelper
22     {
23         /// <summary>
24         /// Checks if the specified geographical positioning type is supported or not.
25         /// </summary>
26         /// <since_tizen>3</since_tizen>
27         /// <param name="locationType"> The back-end positioning method to be used for LBS.</param>
28         /// <returns>Returns a boolean value indicating whether or not the specified method is supported.</returns>
29         public static bool IsSupportedType(LocationType locationType)
30         {
31             bool status = Interop.LocatorHelper.IsSupported((int)locationType);
32             Log.Info(Globals.LogTag, "Checking if the Location Manager type is supported ," + status);
33             return status;
34         }
35
36         /// <summary>
37         /// Checks if the specified geographical positioning type is enabled or not.
38         /// </summary>
39         /// <since_tizen>3</since_tizen>
40         /// <param name="locationType"> The back-end positioning method to be used for LBS.</param>
41         /// <returns>Returns a boolean value indicating whether or not the specified method is supported.</returns>
42         /// <exception cref="InvalidOperationException">Thrown when the operation is invalid for the current state.</exception>
43         /// <exception cref="ArgumentException">Thrown when an invalid argument is used.</exception>
44         /// <exception cref="NotSupportedException">Thrown when the location is not supported.</exception>
45         public static bool IsEnabledType(LocationType locationType)
46         {
47             Log.Info(Globals.LogTag, "Checking if the Location Manager type is Enabled");
48             bool status;
49             int ret = Interop.LocatorHelper.IsEnabled((int)locationType, out status);
50             if (((LocationError)ret != LocationError.None))
51             {
52                 Log.Error(Globals.LogTag, "Error Checking the Location Manager type is Enabled," + (LocationError)ret);
53                 throw LocationErrorFactory.ThrowLocationException(ret);
54             }
55             return status;
56         }
57     }
58 }