diff options
| author | jwijenbergh <jeroenwijenbergh@protonmail.com> | 2022-08-15 14:41:28 +0200 |
|---|---|---|
| committer | jwijenbergh <jeroenwijenbergh@protonmail.com> | 2022-08-15 14:41:28 +0200 |
| commit | fec6ea1eba9cee325bbd9d82aa71b8ebf5ef90b0 (patch) | |
| tree | dec0894380a2de8721a1e7733d75053bcc5181fc /exports/exports.go | |
| parent | c5e85ba79d4d091af9873f1fb0e7415c3b17b9f8 (diff) | |
Refactor: Use constants for state callbacks instead of strings
Diffstat (limited to 'exports/exports.go')
| -rw-r--r-- | exports/exports.go | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/exports/exports.go b/exports/exports.go index ce8faa2..5e4aab3 100644 --- a/exports/exports.go +++ b/exports/exports.go @@ -3,10 +3,10 @@ package main /* #include <stdlib.h> -typedef void (*PythonCB)(const char* name, const char* oldstate, const char* newstate, const char* data); +typedef void (*PythonCB)(const char* name, int oldstate, int newstate, const char* data); __attribute__((weak)) -void call_callback(PythonCB callback, const char *name, const char* oldstate, const char* newstate, const char* data) +void call_callback(PythonCB callback, const char *name, int oldstate, int newstate, const char* data) { callback(name, oldstate, newstate, data); } @@ -26,19 +26,17 @@ var P_StateCallbacks map[string]C.PythonCB var VPNStates map[string]*eduvpn.VPNState -func StateCallback(name string, old_state string, new_state string, data string) { +func StateCallback(name string, old_state eduvpn.VPNStateID, new_state eduvpn.VPNStateID, data string) { P_StateCallback, exists := P_StateCallbacks[name] if !exists || P_StateCallback == nil { return } name_c := C.CString(name) - oldState_c := C.CString(old_state) - newState_c := C.CString(new_state) + oldState_c := C.int(old_state) + newState_c := C.int(new_state) data_c := C.CString(data) C.call_callback(P_StateCallback, name_c, oldState_c, newState_c, data_c) C.free(unsafe.Pointer(name_c)) - C.free(unsafe.Pointer(oldState_c)) - C.free(unsafe.Pointer(newState_c)) C.free(unsafe.Pointer(data_c)) } @@ -67,7 +65,7 @@ func Register(name *C.char, config_directory *C.char, stateCallback C.PythonCB, } VPNStates[nameStr] = state P_StateCallbacks[nameStr] = stateCallback - registerErr := state.Register(nameStr, C.GoString(config_directory), func(old string, new string, data string) { + registerErr := state.Register(nameStr, C.GoString(config_directory), func(old eduvpn.VPNStateID, new eduvpn.VPNStateID, data string) { StateCallback(nameStr, old, new, data) }, debug != 0) |
