2023-07-06 17:18:41 +03:30
|
|
|
import 'package:fpdart/fpdart.dart';
|
|
|
|
|
import 'package:hiddify/domain/clash/clash.dart';
|
|
|
|
|
import 'package:hiddify/domain/constants.dart';
|
2023-08-19 22:27:23 +03:30
|
|
|
import 'package:hiddify/domain/core_service_failure.dart';
|
2023-07-06 17:18:41 +03:30
|
|
|
|
|
|
|
|
abstract class ClashFacade {
|
2023-08-19 22:27:23 +03:30
|
|
|
TaskEither<CoreServiceFailure, ClashConfig> getConfigs();
|
2023-07-06 17:18:41 +03:30
|
|
|
|
2023-08-19 22:27:23 +03:30
|
|
|
TaskEither<CoreServiceFailure, Unit> patchOverrides(ClashConfig overrides);
|
2023-07-06 17:18:41 +03:30
|
|
|
|
2023-08-19 22:27:23 +03:30
|
|
|
TaskEither<CoreServiceFailure, List<ClashProxy>> getProxies();
|
2023-07-06 17:18:41 +03:30
|
|
|
|
2023-08-19 22:27:23 +03:30
|
|
|
TaskEither<CoreServiceFailure, Unit> changeProxy(
|
2023-07-06 17:18:41 +03:30
|
|
|
String selectorName,
|
|
|
|
|
String proxyName,
|
|
|
|
|
);
|
|
|
|
|
|
2023-08-19 22:27:23 +03:30
|
|
|
TaskEither<CoreServiceFailure, int> testDelay(
|
2023-07-06 17:18:41 +03:30
|
|
|
String proxyName, {
|
2023-08-19 22:27:23 +03:30
|
|
|
String testUrl = Defaults.delayTestUrl,
|
2023-07-06 17:18:41 +03:30
|
|
|
});
|
|
|
|
|
|
2023-08-19 22:27:23 +03:30
|
|
|
Stream<Either<CoreServiceFailure, ClashTraffic>> watchTraffic();
|
2023-07-06 17:18:41 +03:30
|
|
|
}
|