27 lines
403 B
Go
27 lines
403 B
Go
package daemon
|
|
|
|
type DaemonService interface {
|
|
Start()
|
|
Stop()
|
|
}
|
|
|
|
type Daemon struct {
|
|
services []DaemonService
|
|
}
|
|
|
|
func (d *Daemon) RegisterDaemonServer(service DaemonService) {
|
|
d.services = append(d.services, service)
|
|
}
|
|
|
|
func (d *Daemon) Start() {
|
|
for _, service := range d.services {
|
|
go service.Start()
|
|
}
|
|
}
|
|
|
|
func (d *Daemon) Stop() {
|
|
for _, service := range d.services {
|
|
service.Stop()
|
|
}
|
|
}
|