fs storage
This commit is contained in:
+12
-14
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user