Files
umbrix-libcore/v2/service_manager/hiddify.go
2024-09-29 20:11:52 +02:00

47 lines
822 B
Go

package service_manager
import (
"github.com/sagernet/sing-box/adapter"
)
var (
services = []adapter.Service{}
preservices = []adapter.Service{}
)
func RegisterPreservice(service adapter.Service) {
preservices = append(services, service)
}
func Register(service adapter.Service) {
services = append(services, service)
}
func StartServices() error {
for _, service := range preservices {
if err := service.Start(); err != nil {
return err
}
}
for _, service := range services {
if err := service.Start(); err != nil {
return err
}
}
return nil
}
func CloseServices() error {
for _, service := range services {
if err := service.Close(); err != nil {
return err
}
}
for _, service := range preservices {
if err := service.Close(); err != nil {
return err
}
}
return nil
}