mirror of https://github.com/labapart/gattlib
parent
53e6c2c7ae
commit
67ff1de69b
|
@ -64,26 +64,30 @@ class Adapter:
|
||||||
self._lock.acquire()
|
self._lock.acquire()
|
||||||
if self._is_opened:
|
if self._is_opened:
|
||||||
self._lock.release()
|
self._lock.release()
|
||||||
return 0
|
return
|
||||||
|
|
||||||
self._adapter = c_void_p(None)
|
try:
|
||||||
ret = gattlib_adapter_open(self._name, byref(self._adapter))
|
self._adapter = c_void_p(None)
|
||||||
if ret == 0:
|
ret = gattlib_adapter_open(self._name, byref(self._adapter))
|
||||||
self._is_opened = True
|
if ret == 0:
|
||||||
if self._name is None:
|
self._is_opened = True
|
||||||
self._name = gattlib_adapter_get_name(self._adapter)
|
if self._name is None:
|
||||||
self._lock.release()
|
self._name = gattlib_adapter_get_name(self._adapter)
|
||||||
return ret
|
else:
|
||||||
|
handle_return(ret)
|
||||||
|
finally:
|
||||||
|
self._lock.release()
|
||||||
|
|
||||||
def close(self):
|
def close(self):
|
||||||
self._lock.acquire()
|
self._lock.acquire()
|
||||||
ret = 0
|
try:
|
||||||
if self._adapter:
|
if self._adapter:
|
||||||
ret = gattlib.gattlib_adapter_close(self._adapter)
|
ret = gattlib.gattlib_adapter_close(self._adapter)
|
||||||
self._is_opened = False
|
handle_return(ret)
|
||||||
self._adapter = None
|
self._is_opened = False
|
||||||
self._lock.release()
|
self._adapter = None
|
||||||
return ret
|
finally:
|
||||||
|
self._lock.release()
|
||||||
|
|
||||||
# Use a closure to return a method that can be called by the C-library (see: https://stackoverflow.com/a/7261524/6267288)
|
# Use a closure to return a method that can be called by the C-library (see: https://stackoverflow.com/a/7261524/6267288)
|
||||||
def get_on_discovered_device_callback(self):
|
def get_on_discovered_device_callback(self):
|
||||||
|
|
Loading…
Reference in New Issue