fs storage

This commit is contained in:
Ilia Denisov
2026-03-13 21:07:23 +02:00
committed by GitHub
parent 43039a79bf
commit 9ade76e21d
117 changed files with 1734 additions and 176 deletions
+12 -14
View File
@@ -16,9 +16,9 @@ import (
type ClientInit func(context.Context, storage.UIStorage, connector.UIConnector, fyne.App) (mc.Client, error)
type loader struct {
conn connector.Connector
cli mc.Client
storagePath string
s storage.Storage
conn connector.Connector
cli mc.Client
}
const (
@@ -30,27 +30,25 @@ var (
checkVersionTimeout = time.Minute * 60
)
func NewLoader(ctx context.Context, app fyne.App, conn connector.Connector) (*loader, error) {
storagePath, err := initStorage(app)
if err != nil {
return nil, err
}
var s storage.Storage = nil
cli, err := loadClientPlugin(ctx, s, conn, app, "./client.so", "NewClient")
func NewLoader(ctx context.Context, s storage.Storage, conn connector.Connector, app fyne.App) (*loader, error) {
cli, err := loadClientPlugin(ctx, s, conn, app, "./client.so", "Factory")
if err != nil {
return nil, err
}
l := &loader{
conn: conn,
cli: cli,
storagePath: storagePath,
conn: conn,
cli: cli,
s: s,
}
return l, nil
}
func (l *loader) Run(ctx context.Context) error {
final := make(chan struct{}, 1)
go l.backgroundLoop(ctx, final)
if l.conn != nil {
go l.backgroundLoop(ctx, final)
defer func() { final <- struct{}{} }()
}
if err := l.cli.Run(); err != nil {
return err
}