diff --git a/internal/platform/implementation/linux/BUILD b/internal/platform/implementation/linux/BUILD index 2658d196..ebea2627 100644 --- a/internal/platform/implementation/linux/BUILD +++ b/internal/platform/implementation/linux/BUILD @@ -70,7 +70,7 @@ cc_library( "bluez.h", "bluez_advertisement_monitor.h", "bluez_advertisement_monitor_manager.h", - "bluez_gatt_characteristic.h", + "bluez_gatt_characteristic_server.h", "bluez_gatt_manager.h", "bluez_gatt_service.h", "bluez_le_advertisement.h", @@ -145,7 +145,7 @@ cc_library( "bluetooth_pairing.cc", "bluez.cc", "bluez_advertisement_monitor.cc", - "bluez_gatt_characteristic.cc", + "bluez_gatt_characteristic_server.cc", "bluez_gatt_service.cc", "bluez_le_advertisement.cc", "dbus.cc", diff --git a/internal/platform/implementation/linux/ble_gatt_server.cc b/internal/platform/implementation/linux/ble_gatt_server.cc index f943016a..88362275 100644 --- a/internal/platform/implementation/linux/ble_gatt_server.cc +++ b/internal/platform/implementation/linux/ble_gatt_server.cc @@ -15,7 +15,7 @@ #include "internal/platform/implementation/linux/ble_gatt_server.h" #include "absl/strings/substitute.h" #include "internal/platform/implementation/ble_v2.h" -#include "internal/platform/implementation/linux/bluez_gatt_characteristic.h" +#include "internal/platform/implementation/linux/bluez_gatt_characteristic_server.h" #include "internal/platform/implementation/linux/bluez_gatt_manager.h" #include "internal/platform/implementation/linux/bluez_gatt_service.h" #include "internal/platform/implementation/linux/dbus.h" diff --git a/internal/platform/implementation/linux/bluez_gatt_characteristic.cc b/internal/platform/implementation/linux/bluez_gatt_characteristic_server.cc similarity index 99% rename from internal/platform/implementation/linux/bluez_gatt_characteristic.cc rename to internal/platform/implementation/linux/bluez_gatt_characteristic_server.cc index e29b2b40..71768c4e 100644 --- a/internal/platform/implementation/linux/bluez_gatt_characteristic.cc +++ b/internal/platform/implementation/linux/bluez_gatt_characteristic_server.cc @@ -18,7 +18,7 @@ #include "internal/platform/byte_array.h" #include "internal/platform/implementation/ble_v2.h" -#include "internal/platform/implementation/linux/bluez_gatt_characteristic.h" +#include "internal/platform/implementation/linux/bluez_gatt_characteristic_server.h" #include "internal/platform/logging.h" namespace nearby { diff --git a/internal/platform/implementation/linux/bluez_gatt_characteristic.h b/internal/platform/implementation/linux/bluez_gatt_characteristic_server.h similarity index 97% rename from internal/platform/implementation/linux/bluez_gatt_characteristic.h rename to internal/platform/implementation/linux/bluez_gatt_characteristic_server.h index 59aa231c..92837e0d 100644 --- a/internal/platform/implementation/linux/bluez_gatt_characteristic.h +++ b/internal/platform/implementation/linux/bluez_gatt_characteristic_server.h @@ -12,8 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -#ifndef PLATFORM_IMPL_LINUX_BLUEZ_GATT_CHARACTERISTIC_H_ -#define PLATFORM_IMPL_LINUX_BLUEZ_GATT_CHARACTERISTIC_H_ +#ifndef PLATFORM_IMPL_LINUX_BLUEZ_GATT_CHARACTERISTIC_SERVER_H_ +#define PLATFORM_IMPL_LINUX_BLUEZ_GATT_CHARACTERISTIC_SERVER_H_ #include #include diff --git a/internal/platform/implementation/linux/bluez_gatt_service.cc b/internal/platform/implementation/linux/bluez_gatt_service.cc index 4ff2ef2d..d8ae5b0b 100644 --- a/internal/platform/implementation/linux/bluez_gatt_service.cc +++ b/internal/platform/implementation/linux/bluez_gatt_service.cc @@ -15,7 +15,7 @@ #include "internal/platform/implementation/linux/bluez_gatt_service.h" #include "absl/synchronization/mutex.h" #include "internal/platform/implementation/ble_v2.h" -#include "internal/platform/implementation/linux/bluez_gatt_characteristic.h" +#include "internal/platform/implementation/linux/bluez_gatt_characteristic_server.h" #include "internal/platform/implementation/linux/generated/dbus/bluez/gatt_characteristic_server.h" #include "internal/platform/uuid.h" diff --git a/internal/platform/implementation/linux/bluez_gatt_service.h b/internal/platform/implementation/linux/bluez_gatt_service.h index 5d3edff2..9390b151 100644 --- a/internal/platform/implementation/linux/bluez_gatt_service.h +++ b/internal/platform/implementation/linux/bluez_gatt_service.h @@ -25,7 +25,7 @@ #include "absl/strings/string_view.h" #include "internal/platform/implementation/ble_v2.h" #include "internal/platform/implementation/linux/bluez.h" -#include "internal/platform/implementation/linux/bluez_gatt_characteristic.h" +#include "internal/platform/implementation/linux/bluez_gatt_characteristic_server.h" #include "internal/platform/implementation/linux/generated/dbus/bluez/gatt_characteristic_server.h" #include "internal/platform/implementation/linux/generated/dbus/bluez/gatt_service_server.h" #include "internal/platform/logging.h" diff --git a/internal/platform/implementation/linux/generated/dbus/bluez/gatt_characteristic_client.h b/internal/platform/implementation/linux/generated/dbus/bluez/gatt_characteristic_client.h index a07c3802..1bdc9087 100644 --- a/internal/platform/implementation/linux/generated/dbus/bluez/gatt_characteristic_client.h +++ b/internal/platform/implementation/linux/generated/dbus/bluez/gatt_characteristic_client.h @@ -3,8 +3,8 @@ * This file was automatically generated by sdbus-c++-xml2cpp; DO NOT EDIT! */ -#ifndef __sdbuscpp__generated_dbus_bluez_gatt_characteristic_client_h__proxy__H__ -#define __sdbuscpp__generated_dbus_bluez_gatt_characteristic_client_h__proxy__H__ +#ifndef __sdbuscpp__gatt_characteristic_client_h__proxy__H__ +#define __sdbuscpp__gatt_characteristic_client_h__proxy__H__ #include #include @@ -39,6 +39,20 @@ public: proxy_.callMethod("WriteValue").onInterface(INTERFACE_NAME).withArguments(value, options); } + std::tuple AcquireWrite(const std::map& options) + { + std::tuple result; + proxy_.callMethod("AcquireWrite").onInterface(INTERFACE_NAME).withArguments(options).storeResultsTo(result); + return result; + } + + std::tuple AcquireNotify(const std::map& options) + { + std::tuple result; + proxy_.callMethod("AcquireNotify").onInterface(INTERFACE_NAME).withArguments(options).storeResultsTo(result); + return result; + } + void StartNotify() { proxy_.callMethod("StartNotify").onInterface(INTERFACE_NAME); @@ -49,12 +63,12 @@ public: proxy_.callMethod("StopNotify").onInterface(INTERFACE_NAME); } - void Confirm() +public: + uint16_t Handle() { - proxy_.callMethod("Confirm").onInterface(INTERFACE_NAME); + return proxy_.getProperty("Handle").onInterface(INTERFACE_NAME); } -public: std::string UUID() { return proxy_.getProperty("UUID").onInterface(INTERFACE_NAME); @@ -80,6 +94,21 @@ public: return proxy_.getProperty("Flags").onInterface(INTERFACE_NAME); } + bool WriteAcquired() + { + return proxy_.getProperty("WriteAcquired").onInterface(INTERFACE_NAME); + } + + bool NotifyAcquired() + { + return proxy_.getProperty("NotifyAcquired").onInterface(INTERFACE_NAME); + } + + uint16_t MTU() + { + return proxy_.getProperty("MTU").onInterface(INTERFACE_NAME); + } + private: sdbus::IProxy& proxy_; };