|
|
@ -52,6 +52,13 @@ def get_security_type(flags: int, wpa_flags: int, rsn_flags: int) -> SecurityTyp |
|
|
|
return SecurityType.UNSUPPORTED |
|
|
|
return SecurityType.UNSUPPORTED |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def run_blocking(func: Callable, block: bool): |
|
|
|
|
|
|
|
if block: |
|
|
|
|
|
|
|
func() |
|
|
|
|
|
|
|
else: |
|
|
|
|
|
|
|
threading.Thread(target=func, daemon=True).start() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@dataclass(frozen=True) |
|
|
|
@dataclass(frozen=True) |
|
|
|
class Network: |
|
|
|
class Network: |
|
|
|
ssid: str |
|
|
|
ssid: str |
|
|
@ -319,11 +326,7 @@ class WifiManager: |
|
|
|
if self._forgotten is not None: |
|
|
|
if self._forgotten is not None: |
|
|
|
self._forgotten(ssid) |
|
|
|
self._forgotten(ssid) |
|
|
|
|
|
|
|
|
|
|
|
# TODO: make a helper when it makes sense |
|
|
|
run_blocking(worker, block) |
|
|
|
if block: |
|
|
|
|
|
|
|
worker() |
|
|
|
|
|
|
|
else: |
|
|
|
|
|
|
|
threading.Thread(target=worker, daemon=True).start() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def activate_connection(self, ssid: str, block: bool = False): |
|
|
|
def activate_connection(self, ssid: str, block: bool = False): |
|
|
|
def worker(): |
|
|
|
def worker(): |
|
|
@ -342,11 +345,7 @@ class WifiManager: |
|
|
|
# if self._activated is not None: |
|
|
|
# if self._activated is not None: |
|
|
|
# self._activated() |
|
|
|
# self._activated() |
|
|
|
|
|
|
|
|
|
|
|
# TODO: make a helper when it makes sense |
|
|
|
run_blocking(worker, block) |
|
|
|
if block: |
|
|
|
|
|
|
|
worker() |
|
|
|
|
|
|
|
else: |
|
|
|
|
|
|
|
threading.Thread(target=worker, daemon=True).start() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def _request_scan(self): |
|
|
|
def _request_scan(self): |
|
|
|
if self._wifi_device is None: |
|
|
|
if self._wifi_device is None: |
|
|
|