package settings import ( "mapserver/mapobjectdb" "strconv" ) type DBSettings struct { db mapobjectdb.DBAccessor } func New(db mapobjectdb.DBAccessor) Settings { return &DBSettings{ db: db, } } func (this *DBSettings) GetString(key string, defaultValue string) string { str, err := this.db.GetSetting(key, defaultValue) if err != nil { panic(err) } return str } func (this *DBSettings) SetString(key string, value string) { err := this.db.SetSetting(key, value) if err != nil { panic(err) } } func (this *DBSettings) GetInt(key string, defaultValue int) int { str, err := this.db.GetSetting(key, strconv.Itoa(defaultValue)) if err != nil { panic(err) } value, err := strconv.Atoi(str) if err != nil { panic(err) } return value } func (this *DBSettings) SetInt(key string, value int) { err := this.db.SetSetting(key, strconv.Itoa(value)) if err != nil { panic(err) } } func (this *DBSettings) GetInt64(key string, defaultValue int64) int64 { str, err := this.db.GetSetting(key, strconv.FormatInt(defaultValue, 10)) if err != nil { panic(err) } value, err := strconv.ParseInt(str, 10, 64) if err != nil { panic(err) } return value } func (this *DBSettings) SetInt64(key string, value int64) { err := this.db.SetSetting(key, strconv.FormatInt(value, 10)) if err != nil { panic(err) } } func (this *DBSettings) GetBool(key string, defaultValue bool) bool { defStr := "false" if defaultValue { defStr = "true" } str, err := this.db.GetSetting(key, defStr) if err != nil { panic(err) } return str == "true" } func (this *DBSettings) SetBool(key string, value bool) { defStr := "false" if value { defStr = "true" } err := this.db.SetSetting(key, defStr) if err != nil { panic(err) } }