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_GPS_H__
20 #define __LOCATION_GPS_H__
22 #include <glib-object.h>
25 * @file location-gps.h
26 * @brief This file contains the internal definitions and structures related to GPS.
31 #define LOCATION_TYPE_GPS (location_gps_get_type())
32 #define LOCATION_GPS(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), LOCATION_TYPE_GPS, LocationGps))
33 #define LOCATION_IS_GPS(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), LOCATION_TYPE_GPS))
34 #define LOCATION_GPS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), LOCATION_TYPE_GPS, LocationGpsClass))
35 #define LOCATION_IS_GPS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), LOCATION_TYPE_GPS))
36 #define LOCATION_GPS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), LOCATION_TYPE_GPS, LocationGpsClass))
38 typedef struct _LocationGps LocationGps;
39 typedef struct _LocationGpsClass LocationGpsClass;
42 GObject parent_instance;
45 struct _LocationGpsClass {
46 GObjectClass parent_class;
48 void (*enabled)(guint type);
49 void (*disabled)(guint type);
50 void (*service_updated)(gint type, gpointer data, gpointer velocity, gpointer accuracy);
51 void (*location_updated)(gint error, gpointer position, gpointer velocity, gpointer accuracy);
52 void (*batch_updated)(guint batch_interval, guint batch_period);
53 void (*zone_in)(gpointer boundary, gpointer position, gpointer accuracy);
54 void (*zone_out)(gpointer boundary, gpointer position, gpointer accuracy);
55 void (*status_changed)(guint type);
58 GType location_gps_get_type(void);