RetroArch
location_driver.h
Go to the documentation of this file.
1 /* RetroArch - A frontend for libretro.
2  * Copyright (C) 2010-2014 - Hans-Kristian Arntzen
3  * Copyright (C) 2011-2017 - Daniel De Matteis
4  *
5  * RetroArch is free software: you can redistribute it and/or modify it under the terms
6  * of the GNU General Public License as published by the Free Software Found-
7  * ation, either version 3 of the License, or (at your option) any later version.
8  *
9  * RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
10  * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11  * PURPOSE. See the GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License along with RetroArch.
14  * If not, see <http://www.gnu.org/licenses/>.
15  */
16 
17 #ifndef __LOCATION_DRIVER__H
18 #define __LOCATION_DRIVER__H
19 
20 #include <stdint.h>
21 #include <stddef.h>
22 
23 #include <boolean.h>
24 #include <retro_common_api.h>
25 
27 
29 {
39 };
40 
41 typedef struct location_driver
42 {
43  void *(*init)(void);
44  void (*free)(void *data);
45 
46  bool (*start)(void *data);
47  void (*stop)(void *data);
48 
49  bool (*get_position)(void *data, double *lat, double *lon,
50  double *horiz_accuracy, double *vert_accuracy);
51  void (*set_interval)(void *data, unsigned interval_msecs,
52  unsigned interval_distance);
53  const char *ident;
55 
59 
68 bool driver_location_start(void);
69 
78 void driver_location_stop(void);
79 
93 bool driver_location_get_position(double *lat, double *lon,
94  double *horiz_accuracy, double *vert_accuracy);
95 
104 void driver_location_set_interval(unsigned interval_msecs,
105  unsigned interval_distance);
106 
116 const char* config_get_location_driver_options(void);
117 
125 const void *location_driver_find_handle(int index);
126 
134 const char *location_driver_find_ident(int index);
135 
136 void find_location_driver(void);
137 
138 void init_location(void);
139 
141 
143 
144 #endif
const char * config_get_location_driver_options(void)
Definition: location_driver.c:87
void init_location(void)
Definition: location_driver.c:210
location_driver_t location_corelocation
void find_location_driver(void)
Definition: location_driver.c:92
Definition: location_driver.h:36
location_driver_t location_android
Definition: android.c:207
#define RETRO_BEGIN_DECLS
Definition: retro_common_api.h:41
void(* free)(void *data)
Definition: location_driver.h:44
const char * location_driver_find_ident(int index)
Definition: location_driver.c:70
bool driver_location_start(void)
Definition: location_driver.c:137
bool driver_location_get_position(double *lat, double *lon, double *horiz_accuracy, double *vert_accuracy)
Definition: location_driver.c:195
GLuint start
Definition: glext.h:6292
Definition: location_driver.h:38
typedef void(__stdcall *PFN_DESTRUCTION_CALLBACK)(void *pData)
void driver_location_set_interval(unsigned interval_msecs, unsigned interval_distance)
Definition: location_driver.c:173
Definition: ibxm.h:9
Definition: location_driver.h:37
GLsizei GLsizei GLenum GLenum const GLvoid * data
Definition: glext.h:6303
typedef bool(RETRO_CALLCONV *retro_replace_image_index_t)(unsigned index
Definition: location_driver.h:30
const char * ident
Definition: location_driver.h:53
Definition: location_driver.h:41
Definition: location_driver.h:31
static uint64_t state[MAX_PADS]
Definition: xenon360_input.c:33
void(* stop)(void *data)
Definition: location_driver.h:47
struct location_driver location_driver_t
void(* set_interval)(void *data, unsigned interval_msecs, unsigned interval_distance)
Definition: location_driver.h:51
Definition: location_driver.h:35
#define RETRO_END_DECLS
Definition: retro_common_api.h:42
location_driver_t location_null
Definition: nulllocation.c:56
GLuint index
Definition: glext.h:6671
void driver_location_stop(void)
Definition: location_driver.c:159
Definition: location_driver.h:32
const void * location_driver_find_handle(int index)
Definition: location_driver.c:55
bool(* get_position)(void *data, double *lat, double *lon, double *horiz_accuracy, double *vert_accuracy)
Definition: location_driver.h:49
rarch_location_ctl_state
Definition: location_driver.h:28
bool location_driver_ctl(enum rarch_location_ctl_state state, void *data)
Definition: location_driver.c:248
Definition: location_driver.h:34
Definition: location_driver.h:33