diff --git a/gattlib-py/gattlib/exception.py b/gattlib-py/gattlib/exception.py index d09c60b..e40affb 100644 --- a/gattlib-py/gattlib/exception.py +++ b/gattlib-py/gattlib/exception.py @@ -13,6 +13,8 @@ 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' diff --git a/include/gattlib.h b/include/gattlib.h index 0af8529..f753a4c 100644 --- a/include/gattlib.h +++ b/include/gattlib.h @@ -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