1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- package config
- import (
- "github.com/go-ini/ini"
- "log"
- )
- var IniConf *ini.File
- var ipath string
- type changeCallback func()
- var changeCallbackList = []changeCallback{}
- /*func init() {
- pwd, _ := os.Getwd()
- ipath = filepath.Join(pwd, "config.ini")
- var err error
- /*fs := flag.NewFlagSet("", flag.ContinueOnError)
- fp := fs.String("f", "", "config file path")
- fs.Parse(os.Args[1:])
- if *fp != "" {
- ipath = *fp
- }
- IniConf, err = ini.Load(ipath)
- if err != nil {
- log.Fatal(err)
- }
- */
- func Reload(cpath string) {
- if cpath == "" {
- cpath = ipath
- }
- iniConf, err := ini.Load(cpath)
- if err != nil {
- log.Println(err)
- return
- } else {
- IniConf = iniConf
- }
- for _, cb := range changeCallbackList {
- cb()
- }
- ipath = cpath
- }
- func RegistChangeCallback(cb changeCallback) {
- changeCallbackList = append(changeCallbackList, cb)
- }
|