diff options
| author | jwijenbergh <jeroenwijenbergh@protonmail.com> | 2022-03-15 16:12:48 +0100 |
|---|---|---|
| committer | jwijenbergh <jeroenwijenbergh@protonmail.com> | 2022-04-05 12:26:14 +0200 |
| commit | 5887d925486e7ce650c3440de6cd29dd2240e929 (patch) | |
| tree | 6bfce1ddb6a1de5647f23fe7131098ebb421034e /wrappers/python/eduvpncommon/main.py | |
| parent | a019e95fdbaea3d7af2d8ad10903fd656bfc4466 (diff) | |
Add callback state change and simplify wrappers
The python wrapper contained lots of code that should not be exposed.
The other wrappers I will update later
Diffstat (limited to 'wrappers/python/eduvpncommon/main.py')
| -rw-r--r-- | wrappers/python/eduvpncommon/main.py | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/wrappers/python/eduvpncommon/main.py b/wrappers/python/eduvpncommon/main.py new file mode 100644 index 0000000..b8278ad --- /dev/null +++ b/wrappers/python/eduvpncommon/main.py @@ -0,0 +1,22 @@ +from . import lib, GOCB_StateChange +from ctypes import * + +@GOCB_StateChange +def state_change(old, new): + print(f"Python: State change {old.decode()} {new.decode()}") + +def InitializeOAuth(): + ptr = lib.InitializeOAuth() + value = cast(ptr, c_char_p).value + authURL = value.decode() + lib.FreeString(ptr) + return authURL + +# Registers the python app with the GO code +# name: The name of the app to be registered +# url: The url of the server to connect to, FIXME: To be removed +# state_callback: The callback to trigger whenever a state is changed, FIXME: Remove whenever this wrapper has implemented callbacks using function decorations +def Register(name, url, state_callback): + name_bytes = name.encode('utf-8') + url_bytes = url.encode('utf-8') + lib.Register(name_bytes, url_bytes, state_callback) |
