diff options
| author | jwijenbergh <jeroenwijenbergh@protonmail.com> | 2022-08-19 16:32:35 +0200 |
|---|---|---|
| committer | jwijenbergh <jeroenwijenbergh@protonmail.com> | 2022-08-19 16:32:35 +0200 |
| commit | d8c7f962e4fe2d4a46f0aeb1c9d9a371d5e41ee0 (patch) | |
| tree | d98c682b31cccb975483111e5b817d5c8d029838 /wrappers/python/src/main.py | |
| parent | f81d05226fe61b697baa91e926dd86efad9d8084 (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.py | 9 |
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) |
