summaryrefslogtreecommitdiff
path: root/wrappers/python/src/main.py
diff options
context:
space:
mode:
authorjwijenbergh <jeroenwijenbergh@protonmail.com>2022-08-19 16:32:35 +0200
committerjwijenbergh <jeroenwijenbergh@protonmail.com>2022-08-19 16:32:35 +0200
commitd8c7f962e4fe2d4a46f0aeb1c9d9a371d5e41ee0 (patch)
treed98c682b31cccb975483111e5b817d5c8d029838 /wrappers/python/src/main.py
parentf81d05226fe61b697baa91e926dd86efad9d8084 (diff)
State + FSM: Properly handle the disconnect flow
- /disconnect is now called - A new state is added (DISCONNECTING) that waits for the disconnect to complete - A helper function is exposed (InFSMState) that can be used by clients to see in which state they are in
Diffstat (limited to 'wrappers/python/src/main.py')
-rw-r--r--wrappers/python/src/main.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/wrappers/python/src/main.py b/wrappers/python/src/main.py
index 8440c7d..574d0e2 100644
--- a/wrappers/python/src/main.py
+++ b/wrappers/python/src/main.py
@@ -145,6 +145,12 @@ class EduVPN(object):
if connect_err:
raise Exception(connect_err)
+ def set_disconnecting(self) -> None:
+ disconnecting_err = self.go_function(lib.SetDisconnecting)
+
+ if disconnecting_err:
+ raise Exception(disconnecting_err)
+
def set_connecting(self) -> None:
connecting_err = self.go_function(lib.SetConnecting)
@@ -216,3 +222,6 @@ class EduVPN(object):
def should_renew_button(self) -> bool:
return self.go_function(lib.ShouldRenewButton)
+
+ def in_fsm_state(self, state_id: State) -> bool:
+ return self.go_function(lib.InFSMState, state_id)