4 * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. All rights reserved.
6 * Contact: Youngae Kang <youngae.kang@samsung.com>, Yunhan Kim <yhan.kim@samsung.com>,
7 * Genie Kim <daejins.kim@samsung.com>, Minjune Kim <sena06.kim@samsung.com>
9 * Licensed under the Apache License, Version 2.0 (the "License");
10 * you may not use this file except in compliance with the License.
11 * You may obtain a copy of the License at
13 * http://www.apache.org/licenses/LICENSE-2.0
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
22 #ifndef __LOCATION_ROUTE_EXT_H__
23 #define __LOCATION_ROUTE_EXT_H__
25 #include <location-types.h>
30 * @file location-route-ext.h
31 * @brief This file contains the extensional definitions and structures related to Route.
34 * @addtogroup LocationMapServiceRoute
36 * @defgroup LocationMapServiceRouteExt Location Route Ext
37 * @brief This provides Location Route Ext APIs.
38 * @addtogroup LocationMapServiceRouteExt
43 * @brief Set the origin #LocationPosition of #LocationRoute
44 * @remarks The service provider should support route service.
47 * @param [in] route - a #LocationRoute
48 * @param [in] origin - a #LocationPosition
50 * @retval TRUE if success
51 * @see location_route_get_origin
53 gboolean location_route_set_origin (LocationRoute *route, const LocationPosition* origin);
56 * @brief Set the destication #LocationPosition of #LocationRoute
57 * @remarks The service provider should support route service.
60 * @param [in] route - a #LocationRoute
61 * @param [in] destination - a #LocationPosition
63 * @retval TRUE if success
64 * @see location_route_get_destination
66 gboolean location_route_set_destination (LocationRoute *route, const LocationPosition* destination);
69 * @brief Set the bounding box #LocationBoundary of #LocationRoute
70 * @remarks The service provider should support route service.
73 * @param [in] route - a #LocationRoute
74 * @param [in] bbox - a #LocationBoundary
76 * @retval TRUE if success
77 * @see location_route_get_bounding_box
79 gboolean location_route_set_bounding_box (LocationRoute *route, const LocationBoundary* bbox);
81 * @brief Set the distance of #LocationRoute
82 * @remarks The service provider should support route service.
85 * @param [in] route - a #LocationRoute
86 * @param [in] total_distance - gdouble
88 * @retval TRUE if success
89 * @see location_route_get_total_distance
91 gboolean location_route_set_total_distance (LocationRoute *route, gdouble total_distance);
94 * @brief Set the distance unit of #LocationRoute
95 * @remarks The service provider should support route service.
98 * @param [in] route - a #LocationRoute
99 * @param [in] distance_unit - gchar
101 * @retval TRUE if success
102 * @see location_route_get_distance_unit
104 gboolean location_route_set_distance_unit (LocationRoute *route, const gchar* distance_unit);
107 * @brief Set the duration of #LocationRoute
108 * @remarks The service provider should support route service.
111 * @param [in] route - a #LocationRoute
112 * @param [in] total_duration - glong
114 * @retval TRUE if success
115 * @see location_route_get_total_duration
117 gboolean location_route_set_total_duration (LocationRoute *route, glong total_duration);
120 * @brief Set the propery value of #LocationRoute
121 * @remarks The service provider should support route service.
124 * @param [in] route - a #LocationRoute
125 * @param [in] key - gconstpointer
126 * @param [in] value - gconstpointer
128 * @retval TRUE if success
129 * @see location_route_get_property
131 gboolean location_route_set_property (LocationRoute *route, gconstpointer key, gconstpointer value);
134 * @brief Set the list of segments #LocationRouteSegment of #LocationRoute
135 * @remarks The service provider should support route service.
138 * @param [in] route - a #LocationRoute
139 * @param [in] segment - a list of #LocationRouteSegment
141 * @retval TRUE if success
142 * @see location_route_get_route_segment
144 gboolean location_route_set_route_segment (LocationRoute *route, GList* segment);
147 * @brief Set the start point #LocationPosition of #LocationRouteSegment
148 * @remarks The service provider should support route service.
151 * @param [in] segment - a #LocationRouteSegment
152 * @param [in] start - a #LocationPosition
154 * @retval TRUE if success
155 * @see location_route_segment_get_start_point
157 gboolean location_route_segment_set_start_point (LocationRouteSegment *segment, const LocationPosition *start);
160 * @brief Set the end point #LocationPosition of #LocationRouteSegment
161 * @remarks The service provider should support route service.
164 * @param [in] segment - a #LocationRouteSegment
165 * @param [in] end - a #LocationPosition
167 * @retval TRUE if success
168 * @see location_route_segment_get_end_point
170 gboolean location_route_segment_set_end_point (LocationRouteSegment *segment, const LocationPosition *end);
173 * @brief Set the bounding box #LocationBoundary of #LocationRouteSegment
174 * @remarks The service provider should support route service.
177 * @param [in] segment - a #LocationRouteSegment
178 * @param [in] bbox - a #LocationBoundary
180 * @retval TRUE if success
181 * @see location_route_segment_get_bounding_box
183 gboolean location_route_segment_set_bounding_box (LocationRouteSegment *segment, const LocationBoundary *bbox);
186 * @brief Set the distance of #LocationRouteSegment
187 * @remarks The service provider should support route service.
190 * @param [in] segment - a #LocationRouteSegment
191 * @param [in] distance - gdouble
193 * @retval TRUE if success
194 * @see location_route_segment_get_distance
196 gboolean location_route_segment_set_distance (LocationRouteSegment *segment, gdouble distance);
199 * @brief Set the duration of #LocationRouteSegment
200 * @remarks The service provider should support route service.
203 * @param [in] segment - a #LocationRouteSegment
204 * @param [in] duration - glong
206 * @retval TRUE if success
207 * @see location_route_segment_get_duration
209 gboolean location_route_segment_set_duration (LocationRouteSegment *segment, glong duration);
212 * @brief Set the property value of #LocationRouteSegment
213 * @remarks The service provider should support route service.
216 * @param [in] segment - a #LocationRouteSegment
217 * @param [in] key - gconstpointer
218 * @param [in] value - gconstpointer
220 * @retval TRUE if success
221 * @see location_route_segment_get_property
223 gboolean location_route_segment_set_property (LocationRouteSegment *segment, gconstpointer key, gconstpointer value);
226 * @brief Set the list of route steps #LocationRouteStep in #LocationRouteSegment
227 * @remarks The service provider should support route service.
230 * @param [in] segment - a #LocationRouteSegment
231 * @param [in] step - a list of #locationRouteStep
233 * @retval TRUE if success
234 * @see location_route_segment_get_route_step
236 gboolean location_route_segment_set_route_step (LocationRouteSegment *segment, GList* step);
239 * @brief Set the start point #LocationPosition of #LocationRouteStep
240 * @remarks The service provider should support route service.
243 * @param [in] step - a #LocationRouteStep
244 * @param [in] start - a #LocationPosition
246 * @retval TRUE if success
247 * @see location_route_step_get_start_point
249 gboolean location_route_step_set_start_point (LocationRouteStep *step, const LocationPosition *start);
252 * @brief Set the end point #LocationPosition of #LocationRouteStep
253 * @remarks The service provider should support route service.
256 * @param [in] step - a #LocationRouteStep
257 * @param [in] end - a #LocationPosition
259 * @retval TRUE if success
260 * @see location_route_step_get_end_point
262 gboolean location_route_step_set_end_point (LocationRouteStep *step, const LocationPosition *end);
265 * @brief Set the bounding box #LocationBoundary of #LocationRouteStep
266 * @remarks The service provider should support route service.
269 * @param [in] step - a #LocationRouteStep
270 * @param [in] bbox - a #LocationBoundary
272 * @retval TRUE if success
273 * @see location_route_step_get_bounding_box
275 gboolean location_route_step_set_bounding_box (LocationRouteStep *step, const LocationBoundary *bbox);
278 * @brief Set the distance of #LocationRouteStep
279 * @remarks The service provider should support route service.
282 * @param [in] step - a #LocationRouteStep
283 * @param [in] distance - gdouble
285 * @retval TRUE if success
286 * @see location_route_step_get_distance
288 gboolean location_route_step_set_distance (LocationRouteStep *step, gdouble distance);
291 * @brief Set the duration of #LocationRouteStep
292 * @remarks The service provider should support route service.
295 * @param [in] step - a #LocationRouteStep
296 * @param [in] duration - glong
298 * @retval TRUE if success
299 * @see location_route_step_get_duration
301 gboolean location_route_step_set_duration (LocationRouteStep *step, glong duration);
304 * @brief Set the transport mode of #LocationRouteStep
305 * @remarks The service provider should support route service.
308 * @param [in] step - a #LocationRouteStep
309 * @param [in] transport_mode - gchar
311 * @retval TRUE if success
312 * @see location_route_step_get_transport_mode
314 gboolean location_route_step_set_transport_mode (LocationRouteStep *step, const gchar *transport_mode);
317 * @brief Set the instruction of #LocationRouteStep
318 * @remarks The service provider should support route service.
321 * @param [in] step - a #LocationRouteStep
322 * @param [in] instruction - gchar
324 * @retval TRUE if success
325 * @see location_route_step_get_instruction
327 gboolean location_route_step_set_instruction (LocationRouteStep *step, const gchar *instruction);
330 * @brief Set the list of geometry #LocationPosition in #LocationRouteStep
331 * @remarks The service provider should support route service.
334 * @param [in] step - a #LocationRouteStep
335 * @param [in] geometry - a list of #LocationPosition
337 * @retval TRUE if success
338 * @see location_route_step_get_geometry
340 gboolean location_route_step_set_geometry (LocationRouteStep *step, GList *geometry);
343 * @brief Set the property value of #LocationRouteStep
344 * @remarks The service provider should support route service.
347 * @param [in] step - a #LocationRouteStep
348 * @param [in] key - gconstpointer
349 * @param [in] value - gconstpointer
351 * @retval TRUE if success
352 * @see location_route_step_get_property
354 gboolean location_route_step_set_property (LocationRouteStep *step, gconstpointer key, gconstpointer value);