sshpoke/internal/server/driver/base/iface.go

23 lines
550 B
Go

package base
import (
"context"
"github.com/Neur0toxine/sshpoke/internal/config"
"github.com/Neur0toxine/sshpoke/pkg/dto"
"go.uber.org/zap"
)
type DriverConstructor func(ctx context.Context, name string, params config.DriverParams) (Driver, error)
type EventStatusCallback func(status dto.EventStatus)
type Driver interface {
Name() string
SetEventStatusCallback(callback EventStatusCallback)
PushEventStatus(status dto.EventStatus)
Handle(event dto.Event) error
Driver() config.DriverType
Log() *zap.SugaredLogger
WaitForShutdown()
}