From 5887d925486e7ce650c3440de6cd29dd2240e929 Mon Sep 17 00:00:00 2001 From: jwijenbergh Date: Tue, 15 Mar 2022 16:12:48 +0100 Subject: 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 --- wrappers/python/eduvpncommon/main.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 wrappers/python/eduvpncommon/main.py (limited to 'wrappers/python/eduvpncommon/main.py') 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) -- cgit v1.2.3