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_HYBRID_MOBILE_H__
20 #define __LOCATION_HYBRID_MOBILE_H__
22 #include <glib-object.h>
25 * @file location-hybrid-mobile.h
26 * @brief This file contains the internal definitions and structures related to Hybrid method.
31 typedef struct _LocationHybrid LocationHybrid;
32 typedef struct _LocationHybridClass LocationHybridClass;
34 #define LOCATION_TYPE_HYBRID (location_hybrid_get_type())
35 #define LOCATION_HYBRID(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), LOCATION_TYPE_HYBRID, LocationHybrid))
36 #define LOCATION_IS_HYBRID(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), LOCATION_TYPE_HYBRID))
37 #define LOCATION_HYBRID_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), LOCATION_TYPE_HYBRID, LocationHybridClass))
38 #define LOCATION_IS_HYBRID_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), LOCATION_TYPE_HYBRID))
39 #define LOCATION_HYBRID_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), LOCATION_TYPE_HYBRID, LocationHybridClass))
41 struct _LocationHybrid {
42 GObject parent_instance;
45 struct _LocationHybridClass {
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 (*zone_in)(gpointer boundary, gpointer position, gpointer accuracy);
53 void (*zone_out)(gpointer boundary, gpointer position, gpointer accuracy);
54 void (*status_changed)(guint type);
57 GType location_hybrid_get_type(void);
59 #define HYBRID_POSITION_EXPIRATION_TIME 9