import 'package:dio/dio.dart'; import '../model/create_task.dart'; import '../model/create_task_batch.dart'; import '../model/downloader_config.dart'; import '../model/extension.dart'; import '../model/http_listen_result.dart'; import '../model/info.dart'; import '../model/install_extension.dart'; import '../model/request.dart'; import '../model/resolve_result.dart'; import '../model/switch_extension.dart'; import '../model/task.dart'; import '../model/task_filter.dart'; import '../model/update_check_extension_resp.dart'; import '../model/update_extension_settings.dart'; import 'model/start_config.dart'; abstract class LibgopeedAbi { Future init(String cfg); Future invoke(String params); } abstract class LibgopeedApiSingleton { Future init(StartConfig config); } abstract class LibgopeedApi { Future startHttp(); Future stopHttp(); Future restartHttp(); Future info(); Future resolve(Request request); Future createTask(CreateTask createTask); Future createTaskBatch(CreateTaskBatch createTask); Future pauseTask(String id); Future pauseTasks(TaskFilter? filter); Future continueTask(String id); Future continueTasks(TaskFilter? filter); Future deleteTask(String id, bool force); Future deleteTasks(TaskFilter? filter, bool force); Future getTask(String id); Future> getTasks(TaskFilter? filter); Future> getTaskStats(String id); Future getConfig(); Future putConfig(DownloaderConfig config); Future installExtension(InstallExtension installExtension); Future> getExtensions(); Future updateExtensionSettings( String identity, UpdateExtensionSettings updateExtensionSettings); Future switchExtension( String identity, SwitchExtension switchExtension); Future deleteExtension(String identity); Future upgradeCheckExtension(String identity); Future upgradeExtension(String identity); Future close(); Future> proxyRequest(String uri, {data, Options? options}); }