diff options
| author | Jeroen Wijenbergh <jeroenwijenbergh@protonmail.com> | 2022-04-19 15:02:45 +0200 |
|---|---|---|
| committer | jwijenbergh <jeroenwijenbergh@protonmail.com> | 2022-04-19 15:02:45 +0200 |
| commit | 723ecacc8528be0e96db42392f1781ddf5894bea (patch) | |
| tree | 1debf1d6d0c50adb32939db3cc84e5130d1fb818 /exports | |
| parent | 5f40a8d10a17182f744cb7ac11087d170dd49560 (diff) | |
Profiles: Implement basic functionality for sending a profile_id
Diffstat (limited to 'exports')
| -rw-r--r-- | exports/exports.go | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/exports/exports.go b/exports/exports.go index e34721e..7d2b1ce 100644 --- a/exports/exports.go +++ b/exports/exports.go @@ -18,9 +18,9 @@ import "github.com/jwijenbergh/eduvpn-common/src" var P_StateCallback C.PythonCB -func StateCallback(old_state string, new_state string, data string) { +func StateCallback(old_state string, new_state string, data string) string { if P_StateCallback == nil { - return + return "" } oldState_c := C.CString(old_state) newState_c := C.CString(new_state) @@ -29,6 +29,12 @@ func StateCallback(old_state string, new_state string, data string) { C.free(unsafe.Pointer(oldState_c)) C.free(unsafe.Pointer(newState_c)) C.free(unsafe.Pointer(data_c)) + + // Get state data and reset + state := eduvpn.GetVPNState() + received_data := state.StateCallbackData + state.StateCallbackData = "" + return received_data } //export Register @@ -75,6 +81,11 @@ func GetServersList() (*C.char, *C.char) { return C.CString(servers), C.CString(ErrorToString(serversErr)) } +//export SendData +func SendData(data *C.char) { + eduvpn.GetVPNState().StateCallbackData = C.GoString(data) +} + //export FreeString func FreeString(addr *C.char) { C.free(unsafe.Pointer(addr)) |
