summaryrefslogtreecommitdiff
path: root/wrappers/python/eduvpncommon/main.py
blob: b8278ad52e38b15d309933c7e30f6b9fc6abbf37 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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)