summaryrefslogtreecommitdiff
path: root/wrappers/python/eduvpncommon/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'wrappers/python/eduvpncommon/__init__.py')
-rw-r--r--wrappers/python/eduvpncommon/__init__.py20
1 files changed, 5 insertions, 15 deletions
diff --git a/wrappers/python/eduvpncommon/__init__.py b/wrappers/python/eduvpncommon/__init__.py
index 911c671..c21f8d4 100644
--- a/wrappers/python/eduvpncommon/__init__.py
+++ b/wrappers/python/eduvpncommon/__init__.py
@@ -19,27 +19,17 @@ _libfile = f"{_lib_prefixes[_os]}{_libname}{_lib_suffixes[_os]}"
# Library should have been copied to the lib/ folder
lib = cdll.LoadLibrary(str(pathlib.Path(__file__).parent / "lib" / _libfile))
-
-class GoSlice(Structure):
- _fields_ = [("data", POINTER(c_char)), ("len", c_int64), ("cap", c_int64)]
-
- @staticmethod
- def make(bs: bytes) -> "GoSlice":
- return GoSlice((c_char * len(bs))(*bs), len(bs), len(bs)) # type: ignore
-
-
+# Data types
class DataError(Structure):
_fields_ = [('data', c_void_p),
('error', c_int64)]
+GOCB_StateChange = CFUNCTYPE(None, c_char_p, c_char_p)
+
+# Exposed functions
+lib.Register.argtypes, lib.Register.restype = [c_char_p, c_char_p, GOCB_StateChange], None
# 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.Register.argtypes, lib.Register.restype = [c_char_p, c_char_p], None
lib.InitializeOAuth.argtypes, lib.InitializeOAuth.restype = [], c_void_p
-lib.GetOrganizationsList.argtypes, lib.GetOrganizationsList.restype = [], DataError
-lib.GetServersList.argtypes, lib.GetServersList.restype = [], DataError
lib.FreeString.argtypes, lib.FreeString.restype = [c_void_p], None
-lib.Verify.argtypes, lib.Verify.restype = [GoSlice, GoSlice, GoSlice, c_uint64], c_int64
-lib.InsecureTestingSetExtraKey.argtypes, lib.InsecureTestingSetExtraKey.restype = [GoSlice], None
-