summaryrefslogtreecommitdiff
path: root/config.go
diff options
context:
space:
mode:
Diffstat (limited to 'config.go')
-rw-r--r--config.go40
1 files changed, 40 insertions, 0 deletions
diff --git a/config.go b/config.go
index 37b3174..0e37f83 100644
--- a/config.go
+++ b/config.go
@@ -60,6 +60,46 @@ func ConfigLoad() *Portmaps {
return p
}
+func EventLoad() *Events {
+ pb := new(Events)
+ var fullname string
+ base, _ := filepath.Split(argv.Config)
+ fullname = filepath.Join(base, "events.pb")
+
+ var data []byte
+ var err error
+ if data, err = loadFile(fullname); err != nil {
+ log.Warn("event file failed to load", err)
+ // something went wrong loading the file
+ return pb
+ }
+
+ if data == nil {
+ return pb
+ }
+ if err = pb.Unmarshal(data); err != nil {
+ log.Warn("unmarshal failed on config file", err)
+ return pb
+ }
+
+ log.Log(INFO, "gus.EventLoad() has", pb.Len(), "port mappings")
+ return pb
+}
+
+func (e *Events) Save() {
+ var fullname string
+ base, _ := filepath.Split(argv.Config)
+ fullname = filepath.Join(base, "events.pb")
+
+ data, err := e.Marshal()
+ if err != nil {
+ log.Info("proto.Marshal() failed", err)
+ return
+ }
+ log.Info("proto.Marshal() worked len", len(data))
+ configWrite(fullname, data)
+}
+
func loadFile(fullname string) ([]byte, error) {
data, err := os.ReadFile(fullname)
if errors.Is(err, os.ErrNotExist) {