package tool
import (
"github.com/alist-org/alist/v3/internal/model"
)
type AddUrlArgs struct {
Url string
UID string
TempDir string
Signal chan int
}
type Status struct {
TotalBytes int64
Progress float64
NewGID string
Completed bool
Status string
Err error
}
type Tool interface {
Name() string
Items() []model.SettingItem
Init() (string, error)
IsReady() bool
AddURL(args *AddUrlArgs) (string, error)
Remove(task *DownloadTask) error
Status(task *DownloadTask) (*Status, error)
Run(task *DownloadTask) error
}