summaryrefslogtreecommitdiff
path: root/exports/disco.go
diff options
context:
space:
mode:
authorjwijenbergh <jeroenwijenbergh@protonmail.com>2022-09-26 14:50:22 +0200
committerjwijenbergh <jeroenwijenbergh@protonmail.com>2022-09-26 15:33:04 +0200
commit7e4494256a08f585523e01b1bbc51f41ff4e2b95 (patch)
treeccbf873b2bfb11aa22f185e78ce1e2e5eebd094c /exports/disco.go
parent448c51d2142c186f0490b9d51c0d73beb3c76863 (diff)
Refactor: Errors into custom export types and expose types
Diffstat (limited to 'exports/disco.go')
-rw-r--r--exports/disco.go15
1 files changed, 8 insertions, 7 deletions
diff --git a/exports/disco.go b/exports/disco.go
index 73bc1ac..ac7ac7d 100644
--- a/exports/disco.go
+++ b/exports/disco.go
@@ -3,6 +3,7 @@ package main
/*
// for free and size_t
#include <stdlib.h>
+#include "error.h"
typedef struct discoveryServer {
const char* authentication_url_template;
@@ -42,7 +43,7 @@ import (
"unsafe"
eduvpn "github.com/eduvpn/eduvpn-common"
- "github.com/eduvpn/eduvpn-common/internal/types"
+ "github.com/eduvpn/eduvpn-common/types"
)
func getCPtrDiscoOrganization(
@@ -168,15 +169,15 @@ func FreeDiscoOrganizations(cOrganizations *C.discoveryOrganizations) {
}
//export GetDiscoServers
-func GetDiscoServers(name *C.char) (*C.discoveryServers, *C.char) {
+func GetDiscoServers(name *C.char) (*C.discoveryServers, *C.error) {
nameStr := C.GoString(name)
state, stateErr := GetVPNState(nameStr)
if stateErr != nil {
- return nil, C.CString(ErrorToString(stateErr))
+ return nil, getError(stateErr)
}
servers, serversErr := state.GetDiscoServers()
if serversErr != nil {
- return nil, C.CString(ErrorToString(serversErr))
+ return nil, getError(serversErr)
}
returnedStruct := (*C.discoveryServers)(
@@ -191,15 +192,15 @@ func GetDiscoServers(name *C.char) (*C.discoveryServers, *C.char) {
}
//export GetDiscoOrganizations
-func GetDiscoOrganizations(name *C.char) (*C.discoveryOrganizations, *C.char) {
+func GetDiscoOrganizations(name *C.char) (*C.discoveryOrganizations, *C.error) {
nameStr := C.GoString(name)
state, stateErr := GetVPNState(nameStr)
if stateErr != nil {
- return nil, C.CString(ErrorToString(stateErr))
+ return nil, getError(stateErr)
}
organizations, organizationsErr := state.GetDiscoOrganizations()
if organizationsErr != nil {
- return nil, C.CString(ErrorToString(organizationsErr))
+ return nil, getError(organizationsErr)
}
returnedStruct := (*C.discoveryOrganizations)(