From e2bcbc5d7fc8846ed189863ab33f0514f5399365 Mon Sep 17 00:00:00 2001 From: Jeroen Wijenbergh Date: Mon, 7 Mar 2022 17:34:39 +0100 Subject: Begin exporting by wrapping state in a singleton --- src/state.go | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) (limited to 'src/state.go') diff --git a/src/state.go b/src/state.go index a03733a..22dcaaf 100644 --- a/src/state.go +++ b/src/state.go @@ -12,13 +12,28 @@ type EduVPNState struct { Server string } -func Register(name string, server string) *EduVPNState { - state := &EduVPNState{Name: name, Server: server} +func Register(state *EduVPNState, name string, server string) error { + state.Name = name + state.Server = server + endpoints, err := APIGetEndpoints(state) if err != nil { - panic(err) + return err } + state.Endpoints = endpoints - return state + return nil } + + +var VPNStateInstance *EduVPNState + +func GetVPNState() *EduVPNState { + if VPNStateInstance == nil { + VPNStateInstance = &EduVPNState{} + } + return VPNStateInstance +} + + -- cgit v1.2.3