From 30c7e666561cee8deafa25fd424c79b0b801c3fe Mon Sep 17 00:00:00 2001 From: jwijenbergh Date: Wed, 20 Apr 2022 14:44:54 +0200 Subject: Profiles: Return possible error message when setting ID --- wrappers/python/eduvpncommon/__init__.py | 2 +- wrappers/python/eduvpncommon/main.py | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) (limited to 'wrappers/python') diff --git a/wrappers/python/eduvpncommon/__init__.py b/wrappers/python/eduvpncommon/__init__.py index d7fce2f..67e0d3b 100644 --- a/wrappers/python/eduvpncommon/__init__.py +++ b/wrappers/python/eduvpncommon/__init__.py @@ -38,7 +38,7 @@ lib.Deregister.argtypes, lib.Deregister.restype = [], None lib.Register.argtypes, lib.Register.restype = [c_char_p, c_char_p, VPNStateChange, c_int], c_void_p lib.GetOrganizationsList.argtypes, lib.GetOrganizationsList.restype = [], DataError lib.GetServersList.argtypes, lib.GetServersList.restype = [], DataError -lib.SetProfileID.argtypes, lib.SetProfileID.restype = [c_char_p], None +lib.SetProfileID.argtypes, lib.SetProfileID.restype = [c_char_p], c_void_p # We have to use c_void_p instead of c_char_p to free it properly # See https://stackoverflow.com/questions/13445568/python-ctypes-how-to-free-memory-getting-invalid-pointer-error lib.FreeString.argtypes, lib.FreeString.restype = [c_void_p], None diff --git a/wrappers/python/eduvpncommon/main.py b/wrappers/python/eduvpncommon/main.py index 694fc59..be421cf 100644 --- a/wrappers/python/eduvpncommon/main.py +++ b/wrappers/python/eduvpncommon/main.py @@ -47,8 +47,9 @@ def register_callback(eduvpn): ) -def SetProfileID(profile_id): - lib.SetProfileID(profile_id.encode("utf-8")) +def SetProfileID(profile_id) -> str: + error_string = lib.SetProfileID(profile_id.encode("utf-8")) + return GetPtrString(error_string) class EduVPN(object): @@ -79,7 +80,7 @@ class EduVPN(object): def callback(self, old_state, new_state, data): self.event.run(old_state, new_state, data) - def set_profile(self, profile_id): + def set_profile(self, profile_id) -> str: return SetProfileID(profile_id) -- cgit v1.2.3