4 * Copyright (c) 2010-2013 Samsung Electronics Co., Ltd. All rights reserved.
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
19 #ifndef __LOCATION_SIGNALING_UTIL_H__
20 #define __LOCATION_SIGNALING_UTIL_H__
23 #include <location-ielement.h>
26 * @file location-signaling.h
27 * @brief This file contains the signaling utils for LocationObject.
32 void enable_signaling(LocationObject *obj, guint32 signals[LAST_SIGNAL], gboolean *prev_enabled, gboolean enabled, LocationStatus status);
34 void position_velocity_signaling(LocationObject *obj, guint32 signals[LAST_SIGNAL],
35 guint pos_interval, guint vel_interval, guint loc_interval,
36 guint *pos_last_timestamp, guint *vel_last_timestamp, guint *loc_last_timestamp,
37 GList *prev_bound, LocationPosition *cur_pos, LocationVelocity *cur_vel, LocationAccuracy *cur_acc);
39 void satellite_signaling(LocationObject *obj, guint32 signals[LAST_SIGNAL],
40 gboolean *prev_enabled, int interval, gboolean emit,
41 guint *last_timestamp, LocationSatellite **pre_sat,
42 LocationSatellite *sat);
44 void location_signaling(LocationObject *obj, guint32 signals[LAST_SIGNAL],
45 gboolean enabled, GList *boundary_list,
46 LocationPosition *cur_pos, LocationVelocity *cur_vel, LocationAccuracy *cur_acc,
47 guint pos_interval, guint vel_interval, guint loc_interval,
48 gboolean *prev_enabled, guint *prev_pos_timestamp, guint *prev_vel_timestamp, guint *prev_loc_timestamp,
49 LocationPosition **prev_pos, LocationVelocity **prev_vel, LocationAccuracy **prev_acc);
51 void distance_based_position_signaling(LocationObject *obj, guint32 signals[LAST_SIGNAL],
53 LocationPosition *cur_pos, LocationVelocity *cur_vel, LocationAccuracy *cur_acc,
54 guint min_interval, gdouble min_distance, gboolean *prev_enabled, guint *prev_dist_timestamp,
55 LocationPosition **prev_pos, LocationVelocity **prev_vel, LocationAccuracy **prev_acc);