diff options
| author | jwijenbergh <jeroenwijenbergh@protonmail.com> | 2022-06-21 16:52:55 +0200 |
|---|---|---|
| committer | jwijenbergh <jeroenwijenbergh@protonmail.com> | 2022-06-21 16:52:55 +0200 |
| commit | b4d744a80aa79d45f8a46119920abc1279ad4f20 (patch) | |
| tree | c308df90904cdaf1657bd1480f6104ecfbbc2063 /exports | |
| parent | f6c074f4fb99fa29927d3b62dd10457bd659f3ed (diff) | |
State: Add functions for getting/setting a connection identifier
e.g. the uuid of the connection in case of NetworkManager on Linux
Diffstat (limited to 'exports')
| -rw-r--r-- | exports/exports.go | 23 |
1 files changed, 23 insertions, 0 deletions
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) |
