diff options
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) |
