upload tizen1.0 source
[platform/core/location/lbs-location.git] / location / map-service / location-route-ext.h
1 /*
2  * libslp-location
3  *
4  * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. All rights reserved.
5  *
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>
8  *
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
12  *
13  * http://www.apache.org/licenses/LICENSE-2.0
14  *
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.
20  */
21
22 #ifndef __LOCATION_ROUTE_EXT_H__
23 #define __LOCATION_ROUTE_EXT_H__
24
25 #include <location-types.h>
26
27 G_BEGIN_DECLS
28
29 /**
30  * @file location-route-ext.h
31  * @brief This file contains the extensional definitions and structures related to Route.
32  */
33 /**
34  * @addtogroup LocationMapServiceRoute
35  * @{
36  * @defgroup LocationMapServiceRouteExt Location Route Ext
37  * @brief This provides Location Route Ext APIs.
38  * @addtogroup LocationMapServiceRouteExt
39  * @{
40  */
41
42 /**
43  * @brief Set the origin #LocationPosition of #LocationRoute
44  * @remarks The service provider should support route service.
45  * @pre None.
46  * @post None.
47  * @param [in] route - a #LocationRoute
48  * @param [in] origin - a #LocationPosition
49  * @return gboolean
50  * @retval  TRUE if success
51  * @see location_route_get_origin
52  */
53 gboolean location_route_set_origin (LocationRoute *route, const LocationPosition* origin);
54
55 /**
56  * @brief Set the destication #LocationPosition of #LocationRoute
57  * @remarks The service provider should support route service.
58  * @pre None.
59  * @post None.
60  * @param [in] route - a #LocationRoute
61  * @param [in] destination - a #LocationPosition
62  * @return gboolean
63  * @retval  TRUE if success
64  * @see location_route_get_destination
65  */
66 gboolean location_route_set_destination (LocationRoute *route, const LocationPosition* destination);
67
68 /**
69  * @brief Set the bounding box #LocationBoundary of #LocationRoute
70  * @remarks The service provider should support route service.
71  * @pre None.
72  * @post None.
73  * @param [in] route - a #LocationRoute
74  * @param [in] bbox - a #LocationBoundary
75  * @return gboolean
76  * @retval  TRUE if success
77  * @see location_route_get_bounding_box
78  */
79 gboolean location_route_set_bounding_box (LocationRoute *route, const LocationBoundary* bbox);
80 /**
81  * @brief Set the distance of #LocationRoute
82  * @remarks The service provider should support route service.
83  * @pre None.
84  * @post None.
85  * @param [in] route - a #LocationRoute
86  * @param [in] total_distance - gdouble
87  * @return gboolean
88  * @retval  TRUE if success
89  * @see location_route_get_total_distance
90  */
91 gboolean location_route_set_total_distance (LocationRoute *route, gdouble total_distance);
92
93 /**
94  * @brief Set the distance unit of #LocationRoute
95  * @remarks The service provider should support route service.
96  * @pre None.
97  * @post None.
98  * @param [in] route - a #LocationRoute
99  * @param [in] distance_unit - gchar
100  * @return gboolean
101  * @retval  TRUE if success
102  * @see location_route_get_distance_unit
103  */
104 gboolean location_route_set_distance_unit (LocationRoute *route, const gchar* distance_unit);
105
106 /**
107  * @brief Set the duration of #LocationRoute
108  * @remarks The service provider should support route service.
109  * @pre None.
110  * @post None.
111  * @param [in] route - a #LocationRoute
112  * @param [in] total_duration - glong
113  * @return gboolean
114  * @retval  TRUE if success
115  * @see location_route_get_total_duration
116  */
117 gboolean location_route_set_total_duration (LocationRoute *route, glong total_duration);
118
119 /**
120  * @brief Set the propery value of #LocationRoute
121  * @remarks The service provider should support route service.
122  * @pre None.
123  * @post None.
124  * @param [in] route - a #LocationRoute
125  * @param [in] key - gconstpointer
126  * @param [in] value - gconstpointer
127  * @return gboolean
128  * @retval  TRUE if success
129  * @see location_route_get_property
130  */
131 gboolean location_route_set_property (LocationRoute *route, gconstpointer key, gconstpointer value);
132
133 /**
134  * @brief Set the list of segments #LocationRouteSegment of #LocationRoute
135  * @remarks The service provider should support route service.
136  * @pre None.
137  * @post None.
138  * @param [in] route - a #LocationRoute
139  * @param [in] segment - a list of #LocationRouteSegment
140  * @return gboolean
141  * @retval  TRUE if success
142  * @see location_route_get_route_segment
143  */
144 gboolean location_route_set_route_segment (LocationRoute *route, GList* segment);
145
146 /**
147  * @brief Set the start point #LocationPosition of #LocationRouteSegment
148  * @remarks The service provider should support route service.
149  * @pre None.
150  * @post None.
151  * @param [in] segment - a #LocationRouteSegment
152  * @param [in] start - a #LocationPosition
153  * @return gboolean
154  * @retval  TRUE if success
155  * @see location_route_segment_get_start_point
156  */
157 gboolean location_route_segment_set_start_point (LocationRouteSegment *segment, const LocationPosition *start);
158
159 /**
160  * @brief Set the end point #LocationPosition of #LocationRouteSegment
161  * @remarks The service provider should support route service.
162  * @pre None.
163  * @post None.
164  * @param [in] segment - a #LocationRouteSegment
165  * @param [in] end - a #LocationPosition
166  * @return gboolean
167  * @retval  TRUE if success
168  * @see location_route_segment_get_end_point
169  */
170 gboolean location_route_segment_set_end_point (LocationRouteSegment *segment, const LocationPosition *end);
171
172 /**
173  * @brief Set the bounding box #LocationBoundary of #LocationRouteSegment
174  * @remarks The service provider should support route service.
175  * @pre None.
176  * @post None.
177  * @param [in] segment - a #LocationRouteSegment
178  * @param [in] bbox - a #LocationBoundary
179  * @return gboolean
180  * @retval  TRUE if success
181  * @see location_route_segment_get_bounding_box
182  */
183 gboolean location_route_segment_set_bounding_box (LocationRouteSegment *segment, const LocationBoundary *bbox);
184
185 /**
186  * @brief Set the distance of #LocationRouteSegment
187  * @remarks The service provider should support route service.
188  * @pre None.
189  * @post None.
190  * @param [in] segment - a #LocationRouteSegment
191  * @param [in] distance - gdouble
192  * @return gboolean
193  * @retval  TRUE if success
194  * @see location_route_segment_get_distance
195  */
196 gboolean location_route_segment_set_distance (LocationRouteSegment *segment, gdouble distance);
197
198 /**
199  * @brief Set the duration of #LocationRouteSegment
200  * @remarks The service provider should support route service.
201  * @pre None.
202  * @post None.
203  * @param [in] segment - a #LocationRouteSegment
204  * @param [in] duration - glong
205  * @return gboolean
206  * @retval  TRUE if success
207  * @see location_route_segment_get_duration
208  */
209 gboolean location_route_segment_set_duration (LocationRouteSegment *segment, glong duration);
210
211 /**
212  * @brief Set the property value of #LocationRouteSegment
213  * @remarks The service provider should support route service.
214  * @pre None.
215  * @post None.
216  * @param [in] segment - a #LocationRouteSegment
217  * @param [in] key - gconstpointer
218  * @param [in] value - gconstpointer
219  * @return gboolean
220  * @retval  TRUE if success
221  * @see location_route_segment_get_property
222  */
223 gboolean location_route_segment_set_property (LocationRouteSegment *segment, gconstpointer key, gconstpointer value);
224
225 /**
226  * @brief Set the list of route steps #LocationRouteStep in #LocationRouteSegment
227  * @remarks The service provider should support route service.
228  * @pre None.
229  * @post None.
230  * @param [in] segment - a #LocationRouteSegment
231  * @param [in] step - a list of #locationRouteStep
232  * @return gboolean
233  * @retval  TRUE if success
234  * @see location_route_segment_get_route_step
235  */
236 gboolean location_route_segment_set_route_step (LocationRouteSegment *segment, GList* step);
237
238 /**
239  * @brief Set the start point #LocationPosition of #LocationRouteStep
240  * @remarks The service provider should support route service.
241  * @pre None.
242  * @post None.
243  * @param [in] step - a #LocationRouteStep
244  * @param [in] start - a #LocationPosition
245  * @return gboolean
246  * @retval  TRUE if success
247  * @see location_route_step_get_start_point
248  */
249 gboolean location_route_step_set_start_point (LocationRouteStep *step, const LocationPosition *start);
250
251 /**
252  * @brief Set the end point #LocationPosition of #LocationRouteStep
253  * @remarks The service provider should support route service.
254  * @pre None.
255  * @post None.
256  * @param [in] step - a #LocationRouteStep
257  * @param [in] end - a #LocationPosition
258  * @return gboolean
259  * @retval  TRUE if success
260  * @see location_route_step_get_end_point
261  */
262 gboolean location_route_step_set_end_point (LocationRouteStep *step, const LocationPosition *end);
263
264 /**
265  * @brief Set the bounding box #LocationBoundary of #LocationRouteStep
266  * @remarks The service provider should support route service.
267  * @pre None.
268  * @post None.
269  * @param [in] step - a #LocationRouteStep
270  * @param [in] bbox - a #LocationBoundary
271  * @return gboolean
272  * @retval  TRUE if success
273  * @see location_route_step_get_bounding_box
274  */
275 gboolean location_route_step_set_bounding_box (LocationRouteStep *step, const LocationBoundary *bbox);
276
277 /**
278  * @brief Set the distance of #LocationRouteStep
279  * @remarks The service provider should support route service.
280  * @pre None.
281  * @post None.
282  * @param [in] step - a #LocationRouteStep
283  * @param [in] distance - gdouble
284  * @return gboolean
285  * @retval  TRUE if success
286  * @see location_route_step_get_distance
287  */
288 gboolean location_route_step_set_distance (LocationRouteStep *step, gdouble distance);
289
290 /**
291  * @brief Set the duration of #LocationRouteStep
292  * @remarks The service provider should support route service.
293  * @pre None.
294  * @post None.
295  * @param [in] step - a #LocationRouteStep
296  * @param [in] duration - glong
297  * @return gboolean
298  * @retval  TRUE if success
299  * @see location_route_step_get_duration
300  */
301 gboolean location_route_step_set_duration (LocationRouteStep *step, glong duration);
302
303 /**
304  * @brief Set the transport mode of #LocationRouteStep
305  * @remarks The service provider should support route service.
306  * @pre None.
307  * @post None.
308  * @param [in] step - a #LocationRouteStep
309  * @param [in] transport_mode - gchar
310  * @return gboolean
311  * @retval  TRUE if success
312  * @see location_route_step_get_transport_mode
313  */
314 gboolean location_route_step_set_transport_mode (LocationRouteStep *step, const gchar *transport_mode);
315
316 /**
317  * @brief Set the instruction of #LocationRouteStep
318  * @remarks The service provider should support route service.
319  * @pre None.
320  * @post None.
321  * @param [in] step - a #LocationRouteStep
322  * @param [in] instruction - gchar
323  * @return gboolean
324  * @retval  TRUE if success
325  * @see location_route_step_get_instruction
326  */
327 gboolean location_route_step_set_instruction (LocationRouteStep *step, const gchar *instruction);
328
329 /**
330  * @brief Set the list of geometry #LocationPosition in #LocationRouteStep
331  * @remarks The service provider should support route service.
332  * @pre None.
333  * @post None.
334  * @param [in] step - a #LocationRouteStep
335  * @param [in] geometry - a list of #LocationPosition
336  * @return gboolean
337  * @retval  TRUE if success
338  * @see location_route_step_get_geometry
339  */
340 gboolean location_route_step_set_geometry (LocationRouteStep *step, GList *geometry);
341
342 /**
343  * @brief Set the property value of #LocationRouteStep
344  * @remarks The service provider should support route service.
345  * @pre None.
346  * @post None.
347  * @param [in] step - a #LocationRouteStep
348  * @param [in] key - gconstpointer
349  * @param [in] value - gconstpointer
350  * @return gboolean
351  * @retval  TRUE if success
352  * @see location_route_step_get_property
353  */
354 gboolean location_route_step_set_property (LocationRouteStep *step, gconstpointer key, gconstpointer value);
355
356 /**
357   * @} @}
358   */
359
360 G_END_DECLS
361
362 #endif