29 lines
551 B
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)
|
|
}
|