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-map-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.\n
45 * The previous origin of the #LocationRoute will be removed if an origin is NULL.
48 * @param [in] route - a #LocationRoute
49 * @param [in] origin - a #LocationPosition
51 * @retval TRUE if success
52 * @see location_route_get_origin
54 gboolean location_route_set_origin (LocationRoute *route, const LocationPosition* origin);
57 * @brief Set the destication #LocationPosition of #LocationRoute
58 * @remarks The service provider should support route service.\n
59 * The previous destination of the #LocationRoute will be removed if an destination is NULL.
62 * @param [in] route - a #LocationRoute
63 * @param [in] destination - a #LocationPosition
65 * @retval TRUE if success
66 * @see location_route_get_destination
68 gboolean location_route_set_destination (LocationRoute *route, const LocationPosition* destination);
71 * @brief Set the bounding box #LocationBoundary of #LocationRoute
72 * @remarks The service provider should support route service.\n
73 * The previous bbox of the #LocationRoute will be removed if an bbox is NULL.
76 * @param [in] route - a #LocationRoute
77 * @param [in] bbox - a #LocationBoundary
79 * @retval TRUE if success
80 * @see location_route_get_bounding_box
82 gboolean location_route_set_bounding_box (LocationRoute *route, const LocationBoundary* bbox);
84 * @brief Set the distance of #LocationRoute
85 * @remarks The service provider should support route service.
88 * @param [in] route - a #LocationRoute
89 * @param [in] total_distance - gdouble
91 * @retval TRUE if success
92 * @see location_route_get_total_distance
94 gboolean location_route_set_total_distance (LocationRoute *route, gdouble total_distance);
97 * @brief Set the distance unit of #LocationRoute
98 * @remarks The service provider should support route service.\n
99 * The previous distance unit of the #LocationRoute will be removed if an distance_unit is NULL.
102 * @param [in] route - a #LocationRoute
103 * @param [in] distance_unit - gchar
105 * @retval TRUE if success
106 * @see location_route_get_distance_unit
108 gboolean location_route_set_distance_unit (LocationRoute *route, const gchar* distance_unit);
111 * @brief Set the duration of #LocationRoute
112 * @remarks The service provider should support route service.
115 * @param [in] route - a #LocationRoute
116 * @param [in] total_duration - glong
118 * @retval TRUE if success
119 * @see location_route_get_total_duration
121 gboolean location_route_set_total_duration (LocationRoute *route, glong total_duration);
124 * @brief Set the propery value of #LocationRoute
125 * @remarks The service provider should support route service.\n
126 * The previous value of the #LocationRoute matching to key will be removed if an value is NULL.
129 * @param [in] route - a #LocationRoute
130 * @param [in] key - gconstpointer
131 * @param [in] value - gconstpointer
133 * @retval TRUE if success
134 * @see location_route_get_property
136 gboolean location_route_set_property (LocationRoute *route, gconstpointer key, gconstpointer value);
139 * @brief Set the list of segments #LocationRouteSegment of #LocationRoute
140 * @remarks The service provider should support route service.\n
141 * The previous route segment of the #LocationRoute will be removed if an segment is NULL.
144 * @param [in] route - a #LocationRoute
145 * @param [in] segment - a list of #LocationRouteSegment
147 * @retval TRUE if success
148 * @see location_route_get_route_segment
150 gboolean location_route_set_route_segment (LocationRoute *route, GList* segment);
153 * @brief Set the start point #LocationPosition of #LocationRouteSegment
154 * @remarks The service provider should support route service.\n
155 * The previous start point of the #LocationRouteSegment will be removed if a start is NULL.
158 * @param [in] segment - a #LocationRouteSegment
159 * @param [in] start - a #LocationPosition
161 * @retval TRUE if success
162 * @see location_route_segment_get_start_point
164 gboolean location_route_segment_set_start_point (LocationRouteSegment *segment, const LocationPosition *start);
167 * @brief Set the end point #LocationPosition of #LocationRouteSegment
168 * @remarks The service provider should support route service.\n
169 * The previous end point of the #LocationRouteSegment will be removed if an end is NULL.
172 * @param [in] segment - a #LocationRouteSegment
173 * @param [in] end - a #LocationPosition
175 * @retval TRUE if success
176 * @see location_route_segment_get_end_point
178 gboolean location_route_segment_set_end_point (LocationRouteSegment *segment, const LocationPosition *end);
181 * @brief Set the bounding box #LocationBoundary of #LocationRouteSegment
182 * @remarks The service provider should support route service.\n
183 * The previous bbox of the #LocationRouteSegment will be removed if a bbox is NULL.
186 * @param [in] segment - a #LocationRouteSegment
187 * @param [in] bbox - a #LocationBoundary
189 * @retval TRUE if success
190 * @see location_route_segment_get_bounding_box
192 gboolean location_route_segment_set_bounding_box (LocationRouteSegment *segment, const LocationBoundary *bbox);
195 * @brief Set the distance of #LocationRouteSegment
196 * @remarks The service provider should support route service.
199 * @param [in] segment - a #LocationRouteSegment
200 * @param [in] distance - gdouble
202 * @retval TRUE if success
203 * @see location_route_segment_get_distance
205 gboolean location_route_segment_set_distance (LocationRouteSegment *segment, gdouble distance);
208 * @brief Set the duration of #LocationRouteSegment
209 * @remarks The service provider should support route service.
212 * @param [in] segment - a #LocationRouteSegment
213 * @param [in] duration - glong
215 * @retval TRUE if success
216 * @see location_route_segment_get_duration
218 gboolean location_route_segment_set_duration (LocationRouteSegment *segment, glong duration);
221 * @brief Set the property value of #LocationRouteSegment
222 * @remarks The service provider should support route service.\n
223 * The previous value of the LocationRouteSegment matching to key will be removed if a value is NULL.
226 * @param [in] segment - a #LocationRouteSegment
227 * @param [in] key - gconstpointer
228 * @param [in] value - gconstpointer
230 * @retval TRUE if success
231 * @see location_route_segment_get_property
233 gboolean location_route_segment_set_property (LocationRouteSegment *segment, gconstpointer key, gconstpointer value);
236 * @brief Set the list of route steps #LocationRouteStep in #LocationRouteSegment
237 * @remarks The service provider should support route service.\n
238 * The previous route step of the #LocationRouteSegment will be removed if a step is NULL.
241 * @param [in] segment - a #LocationRouteSegment
242 * @param [in] step - a list of #locationRouteStep
244 * @retval TRUE if success
245 * @see location_route_segment_get_route_step
247 gboolean location_route_segment_set_route_step (LocationRouteSegment *segment, GList* step);
250 * @brief Set the start point #LocationPosition of #LocationRouteStep
251 * @remarks The service provider should support route service.\n
252 * The previous start point of the #LocationRouteStep will be removed if a start is NULL.
255 * @param [in] step - a #LocationRouteStep
256 * @param [in] start - a #LocationPosition
258 * @retval TRUE if success
259 * @see location_route_step_get_start_point
261 gboolean location_route_step_set_start_point (LocationRouteStep *step, const LocationPosition *start);
264 * @brief Set the end point #LocationPosition of #LocationRouteStep
265 * @remarks The service provider should support route service.\n
266 * The previous end point of the #LocationRouteStep will be removed if an end is NULL.
269 * @param [in] step - a #LocationRouteStep
270 * @param [in] end - a #LocationPosition
272 * @retval TRUE if success
273 * @see location_route_step_get_end_point
275 gboolean location_route_step_set_end_point (LocationRouteStep *step, const LocationPosition *end);
278 * @brief Set the bounding box #LocationBoundary of #LocationRouteStep
279 * @remarks The service provider should support route service.\n
280 * The previous bbox of the #LocationRouteStep will be removed if a bbox is NULL.
283 * @param [in] step - a #LocationRouteStep
284 * @param [in] bbox - a #LocationBoundary
286 * @retval TRUE if success
287 * @see location_route_step_get_bounding_box
289 gboolean location_route_step_set_bounding_box (LocationRouteStep *step, const LocationBoundary *bbox);
292 * @brief Set the distance of #LocationRouteStep
293 * @remarks The service provider should support route service.
296 * @param [in] step - a #LocationRouteStep
297 * @param [in] distance - gdouble
299 * @retval TRUE if success
300 * @see location_route_step_get_distance
302 gboolean location_route_step_set_distance (LocationRouteStep *step, gdouble distance);
305 * @brief Set the duration of #LocationRouteStep
306 * @remarks The service provider should support route service.
309 * @param [in] step - a #LocationRouteStep
310 * @param [in] duration - glong
312 * @retval TRUE if success
313 * @see location_route_step_get_duration
315 gboolean location_route_step_set_duration (LocationRouteStep *step, glong duration);
318 * @brief Set the transport mode of #LocationRouteStep
319 * @remarks The service provider should support route service.\n
320 * The previous transport mode of the #LocationRouteStep will be removed if a transport_mode is NULL.
323 * @param [in] step - a #LocationRouteStep
324 * @param [in] transport_mode - gchar
326 * @retval TRUE if success
327 * @see location_route_step_get_transport_mode
329 gboolean location_route_step_set_transport_mode (LocationRouteStep *step, const gchar *transport_mode);
332 * @brief Set the instruction of #LocationRouteStep
333 * @remarks The service provider should support route service.\n
334 * The previous instruction of the #LocationRouteStep will be removed if an instruction is NULL.
337 * @param [in] step - a #LocationRouteStep
338 * @param [in] instruction - gchar
340 * @retval TRUE if success
341 * @see location_route_step_get_instruction
343 gboolean location_route_step_set_instruction (LocationRouteStep *step, const gchar *instruction);
346 * @brief Set the list of geometry #LocationPosition in #LocationRouteStep
347 * @remarks The service provider should support route service.\n
348 * The previous geometry of the #LocationRouteStep will be removed if a geometry is NULL.
351 * @param [in] step - a #LocationRouteStep
352 * @param [in] geometry - a list of #LocationPosition
354 * @retval TRUE if success
355 * @see location_route_step_get_geometry
357 gboolean location_route_step_set_geometry (LocationRouteStep *step, GList *geometry);
360 * @brief Set the property value of #LocationRouteStep
361 * @remarks The service provider should support route service.\n
362 * The previous value of the #LocationRouteStep will be removed if a value is NULL.
365 * @param [in] step - a #LocationRouteStep
366 * @param [in] key - gconstpointer
367 * @param [in] value - gconstpointer
369 * @retval TRUE if success
370 * @see location_route_step_get_property
372 gboolean location_route_step_set_property (LocationRouteStep *step, gconstpointer key, gconstpointer value);