plugin/manage/init.go

57 lines
719 B
Go
Raw Normal View History

2024-08-30 18:02:15 +08:00
package manage
var m *pluginManage
func init() {
m = &pluginManage{
plugins: make(map[string]*PluginInfo),
}
}
func Load(p []*Config) error {
for _, c := range p {
err := Add(c)
if err != nil {
return err
}
}
return nil
}
func Add(c *Config) error {
err := c.Validate()
if err != nil {
return err
}
return m.add(c)
}
func Update(c *Config) error {
err := c.Validate()
if err != nil {
return err
}
err = Remove(c.Tag)
if err != nil {
return err
}
return m.add(c)
}
func Get(tag string) (*PluginInfo, error) {
p, err := m.get(tag)
if err != nil {
return nil, err
}
return p, nil
}
func Remove(tag string) error {
return m.remove(tag)
}
func Close() {
m.close()
m = nil
}