From 68de4f90d5795475016189cff12d7e0011b07d37 Mon Sep 17 00:00:00 2001 From: Tasuku Suzuki Date: Wed, 14 Dec 2016 18:10:54 +0900 Subject: merge the Settings in CES2017 and bindings from ALPS Change-Id: I00a7a6c5dae1cd579f91d543b0f5fba4616a633b Signed-off-by: Tasuku Suzuki --- bluetooth-manager.h | 143 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 143 insertions(+) create mode 100644 bluetooth-manager.h (limited to 'bluetooth-manager.h') diff --git a/bluetooth-manager.h b/bluetooth-manager.h new file mode 100644 index 0000000..cb018b0 --- /dev/null +++ b/bluetooth-manager.h @@ -0,0 +1,143 @@ +/* Copyright 2016 ALPS ELECTRIC CO., LTD. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + + +#ifndef BLUETOOTH_MANAGER_H +#define BLUETOOTH_MANAGER_H + +#include +#include +//#include +#include +#include +#include +//service +#define AGENT_SERVICE "org.agent" + +//remote service +#define BLUEZ_SERVICE "org.bluez" +#define OFONO_SERVICE "org.ofono" +#define CLIENT_SERVICE "org.bluez.obex" + +//object path +#define OFONO_MANAGER_PATH "/" +#define ADAPTER_PATH "/org/bluez/hci0" +#define OBEX_CLIENT_PATH "/org/bluez/obex" +#define AGENT_PATH "/org/bluez" + +//interface +#define ADAPTER_INTERFACE "org.bluez.Adapter1" +#define DEVICE_INTERFACE "org.bluez.Device1" +#define AGENT_MANAGER_INTERFACE "org.bluez.AgentManager" +#define SERVICE_INTERFACE "org.bluez.Service" +#define AGENT_INTERFACE "org.bluez.Agent" + +#define CLIENT_INTERFACE "org.bluez.obex.Client" +#define TRANSFER_INTERFACE "org.bluez.obex.Transfer" +#define SESSION_INTERFACE "org.bluez.obex.Session" +#define OBEX_ERROR_INTERFACE "org.bluez.obex.Error" +#define BLUEZ_ERROR_INTERFACE "org.bluez.Error" +#define PBAP_INTERFACE "org.bluez.obex.PhonebookAccess" +#define MAP_INTERFACE "org.bluez.obex.MessageAccess" +#define MAP_MSG_INTERFACE "org.bluez.obex.Message" + +#define MEDIA_PLAYER_INTERFACE "org.bluez.MediaPlayer" +#define MEDIA_FOLDER_INTERFACE "org.bluez.MediaFolder" +#define MEDIA_ITEM_INTERFACE "org.bluez.MediaItem" +#define MEDIA_TRANSPORT_INTERFACE "org.bluez.MediaTransport" +#define MEDIA_CONTROL1_INTERFACE "org.bluez.MediaControl1" + + +#define OFONO_HANDSFREE_INTERFACE "org.ofono.Handsfree" +#define OFONO_MANAGER_INTERFACE "org.ofono.Manager" +#define OFONO_MODEM_INTERFACE "org.ofono.Modem" +#define OFONO_VOICECALL_INTERFACE "org.ofono.VoiceCall" +#define OFONO_VOICECALL_MANAGER_INTERFACE "org.ofono.VoiceCallManager" +#define OFONO_NETWORK_REGISTRATION_INTERFACE "org.ofono.NetworkRegistration" +#define OFONO_NETWORK_OPERATOR_INTERFACE "org.ofono.NetworkOperator" +#define OFONO_CALL_VOLUME_INTERFACE "org.ofono.CallVolume" + +#define FREEDESKTOP_INTROSPECT "org.freedesktop.DBus.Introspectable" +#define FREEDESKTOP_PROPERTIES "org.freedesktop.DBus.Properties" + + +#define CONVERTER_CONN (cli.sys_conn) +#define AGENT_CONN (cli.agent_conn) +#define OBEX_CONN (cli.obex_conn) + +#define DBUS_REPLY_TIMEOUT (120 * 1000) +#define DBUS_REPLY_TIMEOUT_SHORT (10 * 1000) + +//typedef void(*callback)(void); +typedef void(*callback)(int password_rejected_flag); +void register_callback(callback ptr); + + +typedef struct _client +{ + GDBusConnection *sys_conn; + GDBusConnection *agent_conn; + GDBusConnection *obex_conn; + GMainLoop *clientloop; +// FILE *fd; +// int conn_fd; +} Client; + +//Bluetooth Device Properties +struct btd_device { + gchar *bdaddr; + gchar *path; + gchar *name; + gboolean paired; + gboolean trusted; + gboolean blocked; + gboolean connected; + gboolean avconnected; + gboolean hfpconnected; + GSList *uuids; +}; + +typedef struct { + gboolean inited; + GMutex m; + GSList * device; +} stBluetoothManage; + +int BluetoothManageInit(void); + +int adapter_set_powered(gboolean value); +int adapter_get_powered(gboolean *value); +int adapter_set_discoverable(gboolean value); +int adapter_start_discovery(); +int adapter_stop_discovery(); +int adapter_update_devices(); +GSList* adapter_get_devices_list(); +int adapter_remove_device(struct btd_device * addr); +int device_pair(struct btd_device * addr); +int device_cancelPairing(struct btd_device * addr); +int device_connect(struct btd_device * addr); +//int device_connectProfile(); +int device_disconnect(struct btd_device * addr); +//int device_disconnectProfile(); +int device_set_property(struct btd_device * addr, const char *property, const char *value); + +int isAVPConnected(struct btd_device *BDdevice); +int isHFPConnected(struct btd_device *BDdevice); + +#endif /* BLUETOOTH_MANAGER_H */ + + +/************************************** The End Of File **************************************/ + -- cgit 1.2.3-korg