diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/state.go | 23 |
1 files changed, 19 insertions, 4 deletions
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 +} + + |
