diff options
author | Matt Ranostay <matt.ranostay@konsulko.com> | 2017-06-29 20:15:36 -0700 |
---|---|---|
committer | Matt Ranostay <matt.ranostay@konsulko.com> | 2017-06-30 11:59:16 -0700 |
commit | c6c94220fa7a1311cb60a01d4f009fb559d3b720 (patch) | |
tree | 253a0bfaf56d6e29175b44abfcc8572221474261 /binding-bluetooth/bluez-client.h | |
parent | 087d927a058437a3f6379024705534365a403768 (diff) |
binding: bluetooth: make system wide service
Allow Bluetooth binding to be build separately and installed
as a system wide service
Bug-AGL: SPEC-661 SPEC-715
Change-Id: I12feefa2908243aa3bdcb0341f9bc9654c23741e
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
Diffstat (limited to 'binding-bluetooth/bluez-client.h')
-rw-r--r-- | binding-bluetooth/bluez-client.h | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/binding-bluetooth/bluez-client.h b/binding-bluetooth/bluez-client.h new file mode 100644 index 0000000..17f82f0 --- /dev/null +++ b/binding-bluetooth/bluez-client.h @@ -0,0 +1,76 @@ +/* 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 BLUEZ_CLIENT_H +#define BLUEZ_CLIENT_H + +#include <glib.h> +#include <gio/gio.h> +#include <glib-object.h> + +#include "lib_bluez.h" +#include "bluetooth-manager.h" + +//#define BLUEZ_THREAD +//#define BLUEZ_BD_LIST + +//Bluetooth Device Properties +struct bt_device { + gchar *path; + gchar *bdaddr; + gchar *name; + gchar *alias; + gboolean paired; + gboolean trusted; + gboolean blocked; + gboolean connected; + gboolean avconnected; + gboolean legacypairing; + gint16 rssi; + GList *uuids; +}; + +typedef struct { + gboolean inited; + #ifdef BLUEZ_BD_LIST + GMutex m; + GSList * device; + #endif + GDBusObjectManager *proxy; + GDBusConnection *system_conn; + GDBusConnection *session_conn; +} stBluezManage; + +typedef struct tagBluez_RegisterCallback +{ + void (*device_added)(struct bt_device *device); + void (*device_removed)(const gchar *path); + void (*device_properties_changed)(const gchar *pObjecPath, const gchar *pInterface, GVariant *value); +}Bluez_RegisterCallback_t; + +/* --- PUBLIC FUNCTIONS --- */ +void BluezDeviceAPIRegister(const Bluez_RegisterCallback_t* pstRegisterCallback); + +int BluezManagerInit(void) ; +int BluezManagerQuit(void) ; + +GSList * GetBluezDevicesList(void); +void FreeBluezDevicesList(GSList* list) ; + +#endif /* BLUEZ_CLIENT_H */ + + +/****************************** The End Of File ******************************/ + |