From b4d744a80aa79d45f8a46119920abc1279ad4f20 Mon Sep 17 00:00:00 2001 From: jwijenbergh Date: Tue, 21 Jun 2022 16:52:55 +0200 Subject: State: Add functions for getting/setting a connection identifier e.g. the uuid of the connection in case of NetworkManager on Linux --- exports/exports.go | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'exports') diff --git a/exports/exports.go b/exports/exports.go index 79b3606..17a9a9b 100644 --- a/exports/exports.go +++ b/exports/exports.go @@ -151,6 +151,29 @@ func SetProfileID(name *C.char, data *C.char) *C.char { return C.CString(ErrorToString(profileErr)) } +//export GetIdentifier +func GetIdentifier(name *C.char) (*C.char, *C.char) { + nameStr := C.GoString(name) + state, stateErr := GetVPNState(nameStr) + if stateErr != nil { + return C.CString(""), C.CString(ErrorToString(stateErr)) + } + identifier := state.GetIdentifier() + return C.CString(identifier), C.CString("") +} + +//export SetIdentifier +func SetIdentifier(name *C.char, identifier *C.char) *C.char { + nameStr := C.GoString(name) + identifierStr := C.GoString(identifier) + state, stateErr := GetVPNState(nameStr) + if stateErr != nil { + return C.CString(ErrorToString(stateErr)) + } + state.SetIdentifier(identifierStr) + return C.CString("") +} + //export SetDisconnected func SetDisconnected(name *C.char) *C.char { nameStr := C.GoString(name) -- cgit v1.2.3