config.go 1.3 KB

12345678910111213141516171819202122232425262728293031323334
  1. // Copyright 2014 nps Author. All Rights Reserved.
  2. package core
  3. import "regexp"
  4. // this structure is used to describe the plugin configuration item name and description.
  5. type Config struct {
  6. ConfigName string // single configuration item name
  7. ZhTitle string // single configuration item chinese title
  8. EnTitle string // single configuration item english title
  9. ZhDescription string // single configuration item chinese description
  10. EnDescription string // single configuration item english description
  11. LimitReg *regexp.Regexp // regular expression to restrict input
  12. ConfigLevel ConfigLevel // configuration sector
  13. }
  14. // multiple configuration collections for plugins
  15. type NpsConfigs struct {
  16. ZhTitle string // chinese title for configuration collection
  17. EnTitle string // chinese description of the configuration collection
  18. EnDescription string // english description of the configuration collection
  19. ZhDescription string // chinese description for english collection
  20. configs []*Config // all configurations
  21. }
  22. // insert one config into configs
  23. func (config *NpsConfigs) Add(cfg *Config) {
  24. config.configs = append(config.configs, cfg)
  25. }
  26. // get all configs
  27. func (config *NpsConfigs) GetAll() []*Config {
  28. return config.configs
  29. }