summaryrefslogtreecommitdiff
path: root/exports
diff options
context:
space:
mode:
authorJeroen Wijenbergh <jeroenwijenbergh@protonmail.com>2022-04-19 15:02:45 +0200
committerjwijenbergh <jeroenwijenbergh@protonmail.com>2022-04-19 15:02:45 +0200
commit723ecacc8528be0e96db42392f1781ddf5894bea (patch)
tree1debf1d6d0c50adb32939db3cc84e5130d1fb818 /exports
parent5f40a8d10a17182f744cb7ac11087d170dd49560 (diff)
Profiles: Implement basic functionality for sending a profile_id
Diffstat (limited to 'exports')
-rw-r--r--exports/exports.go15
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))