Added new Gattlib error types

latest-fixes
Olivier Martin 2024-04-03 15:15:05 +02:00
parent aac4e069c9
commit 42c97d4767
2 changed files with 13 additions and 0 deletions

View File

@ -13,6 +13,8 @@ GATTLIB_NOT_SUPPORTED = 5
GATTLIB_DEVICE_ERROR = 6
GATTLIB_DEVICE_NOT_CONNECTED = 7
GATTLIB_NO_ADAPTER = 8
GATTLIB_BUSY = 9
GATTLIB_UNEXPECTED = 10
GATTLIB_ERROR_MODULE_MASK = 0xF0000000
GATTLIB_ERROR_DBUS = 0x10000000
@ -26,6 +28,12 @@ class GattlibException(Exception):
class NoAdapter(GattlibException):
pass
class Busy(GattlibException):
pass
class Unexpected(GattlibException):
pass
class AdapterNotOpened(GattlibException):
pass
@ -84,6 +92,10 @@ def handle_return(ret):
raise NotConnected()
elif ret == GATTLIB_NO_ADAPTER:
raise NoAdapter()
elif ret == GATTLIB_BUSY:
raise Busy()
elif ret == GATTLIB_UNEXPECTED:
raise Unexpected()
elif (ret & GATTLIB_ERROR_MODULE_MASK) == GATTLIB_ERROR_DBUS:
raise DBusError((ret >> 8) & 0xFFF, ret & 0xFFFF)
elif ret == -22: # From '-EINVAL'

View File

@ -51,6 +51,7 @@ extern "C" {
#define GATTLIB_DEVICE_NOT_CONNECTED 7
#define GATTLIB_NO_ADAPTER 8
#define GATTLIB_BUSY 9
#define GATTLIB_UNEXPECTED 10
#define GATTLIB_ERROR_MODULE_MASK 0xF0000000
#define GATTLIB_ERROR_DBUS 0x10000000
#define GATTLIB_ERROR_BLUEZ 0x20000000