Files
umbrix/lib/domain/singbox/singbox_facade.dart
problematicconsumer dedccdd772 Add service restart
2023-09-10 20:25:04 +03:30

38 lines
1.2 KiB
Dart

import 'package:fpdart/fpdart.dart';
import 'package:hiddify/domain/connectivity/connectivity.dart';
import 'package:hiddify/domain/core_service_failure.dart';
import 'package:hiddify/domain/singbox/config_options.dart';
import 'package:hiddify/domain/singbox/core_status.dart';
import 'package:hiddify/domain/singbox/outbounds.dart';
abstract interface class SingboxFacade {
TaskEither<CoreServiceFailure, Unit> setup();
TaskEither<CoreServiceFailure, Unit> parseConfig(String path);
TaskEither<CoreServiceFailure, Unit> changeConfigOptions(
ConfigOptions options,
);
TaskEither<CoreServiceFailure, Unit> start(String fileName);
TaskEither<CoreServiceFailure, Unit> stop();
TaskEither<CoreServiceFailure, Unit> restart(String fileName);
Stream<Either<CoreServiceFailure, List<OutboundGroup>>> watchOutbounds();
TaskEither<CoreServiceFailure, Unit> selectOutbound(
String groupTag,
String outboundTag,
);
TaskEither<CoreServiceFailure, Unit> urlTest(String groupTag);
Stream<ConnectionStatus> watchConnectionStatus();
Stream<Either<CoreServiceFailure, CoreStatus>> watchCoreStatus();
Stream<Either<CoreServiceFailure, String>> watchLogs();
}