2 * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
19 namespace Tizen.Location
22 /// This class contains the functionality for obtaining the geographical positioning type.
24 /// <since_tizen> 3 </since_tizen>
25 public static class LocatorHelper
28 /// Checks if the specified geographical positioning type is supported or not.
30 /// <since_tizen> 3 </since_tizen>
31 /// <param name="locationType">The back-end positioning method to be used for LBS.</param>
32 /// <feature>http://tizen.org/feature/location.gps</feature>
33 /// <feature>http://tizen.org/feature/location.wps</feature>
34 /// <returns>Returns a boolean value indicating whether or not the specified method is supported.</returns>
35 /// <exception cref="ArgumentException">Thrown when an invalid argument is used.</exception>
36 /// <exception cref="NotSupportedException">Thrown when the location is not supported.</exception>
37 public static bool IsSupportedType(LocationType locationType)
39 bool status = Interop.LocatorHelper.IsSupported((int)locationType);
40 Log.Info(Globals.LogTag, "Checking if the Location Manager type is supported ," + status);
45 /// Checks if the specified geographical positioning type is enabled or not.
47 /// <since_tizen> 3 </since_tizen>
48 /// <param name="locationType">The back-end positioning method to be used for LBS.</param>
49 /// <feature>http://tizen.org/feature/location.gps</feature>
50 /// <feature>http://tizen.org/feature/location.wps</feature>
51 /// <returns>Returns a boolean value indicating whether or not the specified method is supported.</returns>
52 /// <exception cref="InvalidOperationException">Thrown when the operation is invalid for the current state.</exception>
53 /// <exception cref="ArgumentException">Thrown when an invalid argument is used.</exception>
54 /// <exception cref="NotSupportedException">Thrown when the location is not supported.</exception>
55 public static bool IsEnabledType(LocationType locationType)
57 Log.Info(Globals.LogTag, "Checking if the Location Manager type is Enabled");
59 int ret = Interop.LocatorHelper.IsEnabled((int)locationType, out status);
60 if (((LocationError)ret != LocationError.None))
62 Log.Error(Globals.LogTag, "Error Checking the Location Manager type is Enabled," + (LocationError)ret);
63 throw LocationErrorFactory.ThrowLocationException(ret);
69 /// Sets the specified geographical positioning type.
71 /// <since_tizen> 4 </since_tizen>
72 /// <privilege>http://tizen.org/privilege/location.enable</privilege>
73 /// <privlevel>platform</privlevel>
74 /// <param name="locationType">The back-end positioning method to be used for LBS.</param>
75 /// <param name="status">The location setting value.</param>
76 /// <feature>http://tizen.org/feature/location.gps</feature>
77 /// <feature>http://tizen.org/feature/location.wps</feature>
78 /// <exception cref="InvalidOperationException">Thrown when the operation is invalid for the current state.</exception>
79 /// <exception cref="ArgumentException">Thrown when an invalid argument is used.</exception>
80 /// <exception cref="NotSupportedException">Thrown when the location is not supported.</exception>
81 public static void EnableType(LocationType locationType, bool status)
83 Log.Info(Globals.LogTag, "Sets the location setting status");
84 int ret = Interop.LocatorHelper.EnableType((int)locationType, status);
85 if (((LocationError)ret != LocationError.None))
87 Log.Error(Globals.LogTag, "Error Sets the Location type," + (LocationError)ret);
88 throw LocationErrorFactory.ThrowLocationException(ret);