Files
panic-cli/internal/software/software.go

24 lines
502 B
Go

package software
import (
"context"
"io"
)
type Launchable interface {
Name() string // Human readable name "Bambu Studio"
ID() string // Config ID "bambu"
Launch() error // The exec syscall logic
}
type Updateable interface {
GetVersion() (string, error)
GetRemoteVersion() (string, error) // Returns (version, error)
GetReleaseNotes(version string) (string, error)
Install(version string) error
}
type Summarizer interface {
Summarize(context.Context, io.Reader, io.Writer) error
}