/* RetroArch - A frontend for libretro. * * RetroArch is free software: you can redistribute it and/or modify it under the terms * of the GNU General Public License as published by the Free Software Found- * ation, either version 3 of the License, or (at your option) any later version. * * RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along with RetroArch. * If not, see . */ #ifndef __BLUETOOTH_DRIVER__H #define __BLUETOOTH_DRIVER__H #include #include #include #include RETRO_BEGIN_DECLS enum rarch_bluetooth_ctl_state { RARCH_BLUETOOTH_CTL_NONE = 0, RARCH_BLUETOOTH_CTL_DESTROY, RARCH_BLUETOOTH_CTL_DEINIT, RARCH_BLUETOOTH_CTL_SET_ACTIVE, RARCH_BLUETOOTH_CTL_UNSET_ACTIVE, RARCH_BLUETOOTH_CTL_IS_ACTIVE, RARCH_BLUETOOTH_CTL_FIND_DRIVER, RARCH_BLUETOOTH_CTL_SET_CB, RARCH_BLUETOOTH_CTL_STOP, RARCH_BLUETOOTH_CTL_START, RARCH_BLUETOOTH_CTL_INIT }; typedef struct bluetooth_driver { void *(*init)(void); void (*free)(void *data); bool (*start)(void *data); void (*stop)(void *data); void (*scan)(void); void (*get_devices)(struct string_list *list); bool (*device_is_connected)(unsigned i); void (*device_get_sublabel)(char *s, unsigned i, size_t len); bool (*connect_device)(unsigned i); const char *ident; } bluetooth_driver_t; extern bluetooth_driver_t bluetooth_bluetoothctl; extern bluetooth_driver_t bluetooth_bluez; /** * config_get_bluetooth_driver_options: * * Get an enumerated list of all bluetooth driver names, * separated by '|'. * * Returns: string listing of all bluetooth driver names, * separated by '|'. **/ const char* config_get_bluetooth_driver_options(void); void driver_bluetooth_stop(void); bool driver_bluetooth_start(void); void driver_bluetooth_scan(void); void driver_bluetooth_get_devices(struct string_list *list); bool driver_bluetooth_device_is_connected(unsigned i); void driver_bluetooth_device_get_sublabel(char *s, unsigned i, size_t len); bool driver_bluetooth_connect_device(unsigned i); bool bluetooth_driver_ctl(enum rarch_bluetooth_ctl_state state, void *data); RETRO_END_DECLS #endif