uplink/plugins/interfaces.go

29 lines
551 B
Go

package plugins
import (
"git.icedream.tech/icedream/uplink/app/authentication"
"git.icedream.tech/icedream/uplink/app/channels"
"git.icedream.tech/icedream/uplink/app/servers/http"
)
type PluginRunner func() PluginInstance
type PluginInstance interface {
Init()
}
type AuthenticatorPlugin interface {
PluginInstance
SetAuthenticator(authentication.Authenticator)
}
type ServerPlugin interface {
PluginInstance
SetServer(*httpserver.Server)
}
type ChannelPlugin interface {
PluginInstance
SetChannelManager(*channels.ChannelManager)
}