Add filemanager api

This commit is contained in:
世界
2023-04-21 17:29:00 +08:00
parent b6068cea6b
commit 98c2c439aa
11 changed files with 77 additions and 54 deletions

View File

@@ -1,6 +1,7 @@
package experimental
import (
"context"
"os"
"github.com/sagernet/sing-box/adapter"
@@ -8,7 +9,7 @@ import (
"github.com/sagernet/sing-box/option"
)
type ClashServerConstructor = func(router adapter.Router, logFactory log.ObservableFactory, options option.ClashAPIOptions) (adapter.ClashServer, error)
type ClashServerConstructor = func(ctx context.Context, router adapter.Router, logFactory log.ObservableFactory, options option.ClashAPIOptions) (adapter.ClashServer, error)
var clashServerConstructor ClashServerConstructor
@@ -16,9 +17,9 @@ func RegisterClashServerConstructor(constructor ClashServerConstructor) {
clashServerConstructor = constructor
}
func NewClashServer(router adapter.Router, logFactory log.ObservableFactory, options option.ClashAPIOptions) (adapter.ClashServer, error) {
func NewClashServer(ctx context.Context, router adapter.Router, logFactory log.ObservableFactory, options option.ClashAPIOptions) (adapter.ClashServer, error) {
if clashServerConstructor == nil {
return nil, os.ErrInvalid
}
return clashServerConstructor(router, logFactory, options)
return clashServerConstructor(ctx, router, logFactory, options)
}