mirror of
https://github.com/nimbold/Firelink.git
synced 2026-09-10 17:55:43 +00:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f8feb1c5b3 | |||
| 6b9919c5a1 |
+160
-143
@@ -18217,6 +18217,9 @@ fn set_log_stream_active(caller: tauri::WebviewWindow, active: bool) -> Result<(
|
|||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type FirelinkInvokeHandler =
|
||||||
|
Box<dyn Fn(tauri::ipc::Invoke<tauri::Wry>) -> bool + Send + Sync>;
|
||||||
|
|
||||||
#[cfg_attr(mobile, tauri::mobile_entry_point)]
|
#[cfg_attr(mobile, tauri::mobile_entry_point)]
|
||||||
pub fn run() {
|
pub fn run() {
|
||||||
ensure_reqwest_crypto_provider();
|
ensure_reqwest_crypto_provider();
|
||||||
@@ -19864,8 +19867,7 @@ pub fn run() {
|
|||||||
// Tauri expands generate_handler! into one command match whose arms include
|
// Tauri expands generate_handler! into one command match whose arms include
|
||||||
// argument extraction for every command. A single 1.4-era table was large
|
// argument extraction for every command. A single 1.4-era table was large
|
||||||
// enough to overflow the Windows main-thread stack on the first invoke.
|
// enough to overflow the Windows main-thread stack on the first invoke.
|
||||||
let startup_handler: Box<dyn Fn(tauri::ipc::Invoke<tauri::Wry>) -> bool + Send + Sync> =
|
let engine_handler: FirelinkInvokeHandler = Box::new(tauri::generate_handler![
|
||||||
Box::new(tauri::generate_handler![
|
|
||||||
get_engine_status,
|
get_engine_status,
|
||||||
get_aria2_engine_status,
|
get_aria2_engine_status,
|
||||||
get_ytdlp_engine_status,
|
get_ytdlp_engine_status,
|
||||||
@@ -19875,6 +19877,8 @@ pub fn run() {
|
|||||||
test_aria2c,
|
test_aria2c,
|
||||||
test_ffmpeg,
|
test_ffmpeg,
|
||||||
test_deno,
|
test_deno,
|
||||||
|
]);
|
||||||
|
let media_startup_handler: FirelinkInvokeHandler = Box::new(tauri::generate_handler![
|
||||||
pause_download,
|
pause_download,
|
||||||
resume_download,
|
resume_download,
|
||||||
fetch_metadata,
|
fetch_metadata,
|
||||||
@@ -19886,6 +19890,8 @@ pub fn run() {
|
|||||||
begin_dock_badge_session,
|
begin_dock_badge_session,
|
||||||
update_dock_badge,
|
update_dock_badge,
|
||||||
get_platform_info,
|
get_platform_info,
|
||||||
|
]);
|
||||||
|
let system_handler: FirelinkInvokeHandler = Box::new(tauri::generate_handler![
|
||||||
approve_download_root,
|
approve_download_root,
|
||||||
set_prevent_sleep,
|
set_prevent_sleep,
|
||||||
set_power_preferences,
|
set_power_preferences,
|
||||||
@@ -19895,14 +19901,15 @@ pub fn run() {
|
|||||||
check_automation_permission,
|
check_automation_permission,
|
||||||
request_automation_permission,
|
request_automation_permission,
|
||||||
open_automation_settings,
|
open_automation_settings,
|
||||||
]);
|
]);
|
||||||
let account_and_extension_handler: Box<dyn Fn(tauri::ipc::Invoke<tauri::Wry>) -> bool + Send + Sync> =
|
let keychain_handler: FirelinkInvokeHandler = Box::new(tauri::generate_handler![
|
||||||
Box::new(tauri::generate_handler![
|
|
||||||
set_keychain_password,
|
set_keychain_password,
|
||||||
get_keychain_password,
|
get_keychain_password,
|
||||||
delete_keychain_password,
|
delete_keychain_password,
|
||||||
save_site_login,
|
save_site_login,
|
||||||
delete_site_login,
|
delete_site_login,
|
||||||
|
]);
|
||||||
|
let pairing_handler: FirelinkInvokeHandler = Box::new(tauri::generate_handler![
|
||||||
hydrate_extension_pairing_token,
|
hydrate_extension_pairing_token,
|
||||||
get_session_pairing_token,
|
get_session_pairing_token,
|
||||||
regenerate_pairing_token,
|
regenerate_pairing_token,
|
||||||
@@ -19912,6 +19919,8 @@ pub fn run() {
|
|||||||
abandon_keychain_grant,
|
abandon_keychain_grant,
|
||||||
authorize_keychain_access,
|
authorize_keychain_access,
|
||||||
acknowledge_pairing_token_change,
|
acknowledge_pairing_token_change,
|
||||||
|
]);
|
||||||
|
let extension_handler: FirelinkInvokeHandler = Box::new(tauri::generate_handler![
|
||||||
inspect_download_target,
|
inspect_download_target,
|
||||||
toggle_tray_icon,
|
toggle_tray_icon,
|
||||||
set_extension_pairing_token,
|
set_extension_pairing_token,
|
||||||
@@ -19919,9 +19928,8 @@ pub fn run() {
|
|||||||
set_extension_frontend_ready,
|
set_extension_frontend_ready,
|
||||||
ack_frontend_exit,
|
ack_frontend_exit,
|
||||||
ack_extension_download,
|
ack_extension_download,
|
||||||
]);
|
]);
|
||||||
let torrent_handler: Box<dyn Fn(tauri::ipc::Invoke<tauri::Wry>) -> bool + Send + Sync> =
|
let torrent_limits_handler: FirelinkInvokeHandler = Box::new(tauri::generate_handler![
|
||||||
Box::new(tauri::generate_handler![
|
|
||||||
set_concurrent_limit,
|
set_concurrent_limit,
|
||||||
set_queue_concurrency_limits,
|
set_queue_concurrency_limits,
|
||||||
set_download_speed_limit,
|
set_download_speed_limit,
|
||||||
@@ -19929,6 +19937,8 @@ pub fn run() {
|
|||||||
set_torrent_peer_options,
|
set_torrent_peer_options,
|
||||||
get_torrent_peers,
|
get_torrent_peers,
|
||||||
get_torrent_availability,
|
get_torrent_availability,
|
||||||
|
]);
|
||||||
|
let torrent_files_handler: FirelinkInvokeHandler = Box::new(tauri::generate_handler![
|
||||||
get_torrent_file_progress,
|
get_torrent_file_progress,
|
||||||
get_torrent_piece_progress,
|
get_torrent_piece_progress,
|
||||||
get_torrent_file_selection,
|
get_torrent_file_selection,
|
||||||
@@ -19936,6 +19946,8 @@ pub fn run() {
|
|||||||
get_torrent_details,
|
get_torrent_details,
|
||||||
get_torrent_magnet_link,
|
get_torrent_magnet_link,
|
||||||
export_torrent_metadata,
|
export_torrent_metadata,
|
||||||
|
]);
|
||||||
|
let torrent_storage_handler: FirelinkInvokeHandler = Box::new(tauri::generate_handler![
|
||||||
move_torrent_data,
|
move_torrent_data,
|
||||||
cancel_torrent_move_data,
|
cancel_torrent_move_data,
|
||||||
verify_torrent_data,
|
verify_torrent_data,
|
||||||
@@ -19944,12 +19956,11 @@ pub fn run() {
|
|||||||
set_torrent_max_open_files,
|
set_torrent_max_open_files,
|
||||||
set_torrent_overall_upload_limit,
|
set_torrent_overall_upload_limit,
|
||||||
set_global_speed_limit,
|
set_global_speed_limit,
|
||||||
|
]);
|
||||||
|
let download_queue_handler: FirelinkInvokeHandler = Box::new(tauri::generate_handler![
|
||||||
remove_download,
|
remove_download,
|
||||||
get_download_primary_path,
|
get_download_primary_path,
|
||||||
detach_download_for_reconfigure,
|
detach_download_for_reconfigure,
|
||||||
]);
|
|
||||||
let queue_and_properties_handler: Box<dyn Fn(tauri::ipc::Invoke<tauri::Wry>) -> bool + Send + Sync> =
|
|
||||||
Box::new(tauri::generate_handler![
|
|
||||||
enqueue_download,
|
enqueue_download,
|
||||||
enqueue_many,
|
enqueue_many,
|
||||||
cancel_enqueue_generation,
|
cancel_enqueue_generation,
|
||||||
@@ -19957,25 +19968,29 @@ pub fn run() {
|
|||||||
move_many_in_queue,
|
move_many_in_queue,
|
||||||
remove_from_queue,
|
remove_from_queue,
|
||||||
get_pending_order,
|
get_pending_order,
|
||||||
commands::reveal_in_file_manager,
|
]);
|
||||||
commands::open_downloaded_file,
|
let commands_and_properties_handler: FirelinkInvokeHandler =
|
||||||
properties_window::open_download_properties_window,
|
|
||||||
properties_window::get_properties_window_download_id,
|
|
||||||
properties_window::properties_window_send_ready,
|
|
||||||
properties_window::properties_window_reveal,
|
|
||||||
properties_window::properties_window_send_action,
|
|
||||||
properties_window::validate_properties_window_request,
|
|
||||||
properties_window::close_download_properties_window,
|
|
||||||
properties_window::properties_window_registry_remove_for_download,
|
|
||||||
]);
|
|
||||||
let persistence_and_logs_handler: Box<dyn Fn(tauri::ipc::Invoke<tauri::Wry>) -> bool + Send + Sync> =
|
|
||||||
Box::new(tauri::generate_handler![
|
Box::new(tauri::generate_handler![
|
||||||
|
commands::reveal_in_file_manager,
|
||||||
|
commands::open_downloaded_file,
|
||||||
|
properties_window::open_download_properties_window,
|
||||||
|
properties_window::get_properties_window_download_id,
|
||||||
|
properties_window::properties_window_send_ready,
|
||||||
|
properties_window::properties_window_reveal,
|
||||||
|
properties_window::properties_window_send_action,
|
||||||
|
properties_window::validate_properties_window_request,
|
||||||
|
properties_window::close_download_properties_window,
|
||||||
|
properties_window::properties_window_registry_remove_for_download,
|
||||||
|
]);
|
||||||
|
let parity_handler: FirelinkInvokeHandler = Box::new(tauri::generate_handler![
|
||||||
parity::get_system_proxy,
|
parity::get_system_proxy,
|
||||||
parity::get_file_category,
|
parity::get_file_category,
|
||||||
parity::check_for_updates,
|
parity::check_for_updates,
|
||||||
parity::is_supported_media,
|
parity::is_supported_media,
|
||||||
parity::get_supported_media_domains,
|
parity::get_supported_media_domains,
|
||||||
parity::create_category_directories,
|
parity::create_category_directories,
|
||||||
|
]);
|
||||||
|
let database_handler: FirelinkInvokeHandler = Box::new(tauri::generate_handler![
|
||||||
db_save_settings,
|
db_save_settings,
|
||||||
db_load_settings,
|
db_load_settings,
|
||||||
canonicalize_torrent_network_setting,
|
canonicalize_torrent_network_setting,
|
||||||
@@ -19986,136 +20001,138 @@ pub fn run() {
|
|||||||
reconcile_torrent_removal_reservations,
|
reconcile_torrent_removal_reservations,
|
||||||
db_get_all_queues,
|
db_get_all_queues,
|
||||||
db_replace_queues,
|
db_replace_queues,
|
||||||
|
]);
|
||||||
|
let logs_handler: FirelinkInvokeHandler = Box::new(tauri::generate_handler![
|
||||||
read_logs,
|
read_logs,
|
||||||
export_logs,
|
export_logs,
|
||||||
toggle_log_pause,
|
toggle_log_pause,
|
||||||
is_log_paused,
|
is_log_paused,
|
||||||
clear_logs,
|
clear_logs,
|
||||||
set_log_stream_active,
|
set_log_stream_active,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
builder
|
builder
|
||||||
.invoke_handler(move |invoke| {
|
.invoke_handler(move |invoke| {
|
||||||
let command = invoke.message.command().to_owned();
|
let command = invoke.message.command().to_owned();
|
||||||
match command.as_str() {
|
match command.as_str() {
|
||||||
"get_engine_status"
|
"get_engine_status"
|
||||||
| "get_aria2_engine_status"
|
| "get_aria2_engine_status"
|
||||||
| "get_ytdlp_engine_status"
|
| "get_ytdlp_engine_status"
|
||||||
| "get_ffmpeg_engine_status"
|
| "get_ffmpeg_engine_status"
|
||||||
| "get_deno_engine_status"
|
| "get_deno_engine_status"
|
||||||
| "test_ytdlp"
|
| "test_ytdlp"
|
||||||
| "test_aria2c"
|
| "test_aria2c"
|
||||||
| "test_ffmpeg"
|
| "test_ffmpeg"
|
||||||
| "test_deno"
|
| "test_deno" => engine_handler(invoke),
|
||||||
| "pause_download"
|
"pause_download"
|
||||||
| "resume_download"
|
| "resume_download"
|
||||||
| "fetch_metadata"
|
| "fetch_metadata"
|
||||||
| "inspect_torrent"
|
| "inspect_torrent"
|
||||||
| "rekey_torrent_metadata"
|
| "rekey_torrent_metadata"
|
||||||
| "remove_torrent_metadata"
|
| "remove_torrent_metadata"
|
||||||
| "fetch_media_metadata"
|
| "fetch_media_metadata"
|
||||||
| "fetch_media_playlist_metadata"
|
| "fetch_media_playlist_metadata"
|
||||||
| "begin_dock_badge_session"
|
| "begin_dock_badge_session"
|
||||||
| "update_dock_badge"
|
| "update_dock_badge"
|
||||||
| "get_platform_info"
|
| "get_platform_info" => media_startup_handler(invoke),
|
||||||
| "approve_download_root"
|
"approve_download_root"
|
||||||
| "set_prevent_sleep"
|
| "set_prevent_sleep"
|
||||||
| "set_power_preferences"
|
| "set_power_preferences"
|
||||||
| "get_free_space"
|
| "get_free_space"
|
||||||
| "perform_system_action"
|
| "perform_system_action"
|
||||||
| "ack_schedule_trigger"
|
| "ack_schedule_trigger"
|
||||||
| "check_automation_permission"
|
| "check_automation_permission"
|
||||||
| "request_automation_permission"
|
| "request_automation_permission"
|
||||||
| "open_automation_settings" => startup_handler(invoke),
|
| "open_automation_settings" => system_handler(invoke),
|
||||||
"set_keychain_password"
|
"set_keychain_password"
|
||||||
| "get_keychain_password"
|
| "get_keychain_password"
|
||||||
| "delete_keychain_password"
|
| "delete_keychain_password"
|
||||||
| "save_site_login"
|
| "save_site_login"
|
||||||
| "delete_site_login"
|
| "delete_site_login" => keychain_handler(invoke),
|
||||||
| "hydrate_extension_pairing_token"
|
"hydrate_extension_pairing_token"
|
||||||
| "get_session_pairing_token"
|
| "get_session_pairing_token"
|
||||||
| "regenerate_pairing_token"
|
| "regenerate_pairing_token"
|
||||||
| "grant_keychain_access"
|
| "grant_keychain_access"
|
||||||
| "get_keychain_grant_status"
|
| "get_keychain_grant_status"
|
||||||
| "accept_keychain_grant"
|
| "accept_keychain_grant"
|
||||||
| "abandon_keychain_grant"
|
| "abandon_keychain_grant"
|
||||||
| "authorize_keychain_access"
|
| "authorize_keychain_access"
|
||||||
| "acknowledge_pairing_token_change"
|
| "acknowledge_pairing_token_change" => pairing_handler(invoke),
|
||||||
| "inspect_download_target"
|
"inspect_download_target"
|
||||||
| "toggle_tray_icon"
|
| "toggle_tray_icon"
|
||||||
| "set_extension_pairing_token"
|
| "set_extension_pairing_token"
|
||||||
| "get_extension_server_port"
|
| "get_extension_server_port"
|
||||||
| "set_extension_frontend_ready"
|
| "set_extension_frontend_ready"
|
||||||
| "ack_frontend_exit"
|
| "ack_frontend_exit"
|
||||||
| "ack_extension_download" => account_and_extension_handler(invoke),
|
| "ack_extension_download" => extension_handler(invoke),
|
||||||
"set_concurrent_limit"
|
"set_concurrent_limit"
|
||||||
| "set_queue_concurrency_limits"
|
| "set_queue_concurrency_limits"
|
||||||
| "set_download_speed_limit"
|
| "set_download_speed_limit"
|
||||||
| "set_torrent_upload_limit"
|
| "set_torrent_upload_limit"
|
||||||
| "set_torrent_peer_options"
|
| "set_torrent_peer_options"
|
||||||
| "get_torrent_peers"
|
| "get_torrent_peers"
|
||||||
| "get_torrent_availability"
|
| "get_torrent_availability" => torrent_limits_handler(invoke),
|
||||||
| "get_torrent_file_progress"
|
"get_torrent_file_progress"
|
||||||
| "get_torrent_piece_progress"
|
| "get_torrent_piece_progress"
|
||||||
| "get_torrent_file_selection"
|
| "get_torrent_file_selection"
|
||||||
| "set_torrent_file_selection"
|
| "set_torrent_file_selection"
|
||||||
| "get_torrent_details"
|
| "get_torrent_details"
|
||||||
| "get_torrent_magnet_link"
|
| "get_torrent_magnet_link"
|
||||||
| "export_torrent_metadata"
|
| "export_torrent_metadata" => torrent_files_handler(invoke),
|
||||||
| "move_torrent_data"
|
"move_torrent_data"
|
||||||
| "cancel_torrent_move_data"
|
| "cancel_torrent_move_data"
|
||||||
| "verify_torrent_data"
|
| "verify_torrent_data"
|
||||||
| "get_torrent_web_seeds"
|
| "get_torrent_web_seeds"
|
||||||
| "set_torrent_web_seeds"
|
| "set_torrent_web_seeds"
|
||||||
| "set_torrent_max_open_files"
|
| "set_torrent_max_open_files"
|
||||||
| "set_torrent_overall_upload_limit"
|
| "set_torrent_overall_upload_limit"
|
||||||
| "set_global_speed_limit"
|
| "set_global_speed_limit" => torrent_storage_handler(invoke),
|
||||||
| "remove_download"
|
"remove_download"
|
||||||
| "get_download_primary_path"
|
| "get_download_primary_path"
|
||||||
| "detach_download_for_reconfigure" => torrent_handler(invoke),
|
| "detach_download_for_reconfigure"
|
||||||
"enqueue_download"
|
| "enqueue_download"
|
||||||
| "enqueue_many"
|
| "enqueue_many"
|
||||||
| "cancel_enqueue_generation"
|
| "cancel_enqueue_generation"
|
||||||
| "move_in_queue"
|
| "move_in_queue"
|
||||||
| "move_many_in_queue"
|
| "move_many_in_queue"
|
||||||
| "remove_from_queue"
|
| "remove_from_queue"
|
||||||
| "get_pending_order"
|
| "get_pending_order" => download_queue_handler(invoke),
|
||||||
| "reveal_in_file_manager"
|
"reveal_in_file_manager"
|
||||||
| "open_downloaded_file"
|
| "open_downloaded_file"
|
||||||
| "open_download_properties_window"
|
| "open_download_properties_window"
|
||||||
| "get_properties_window_download_id"
|
| "get_properties_window_download_id"
|
||||||
| "properties_window_send_ready"
|
| "properties_window_send_ready"
|
||||||
| "properties_window_reveal"
|
| "properties_window_reveal"
|
||||||
| "properties_window_send_action"
|
| "properties_window_send_action"
|
||||||
| "validate_properties_window_request"
|
| "validate_properties_window_request"
|
||||||
| "close_download_properties_window"
|
| "close_download_properties_window"
|
||||||
| "properties_window_registry_remove_for_download" => {
|
| "properties_window_registry_remove_for_download" => {
|
||||||
queue_and_properties_handler(invoke)
|
commands_and_properties_handler(invoke)
|
||||||
|
}
|
||||||
|
"get_system_proxy"
|
||||||
|
| "get_file_category"
|
||||||
|
| "check_for_updates"
|
||||||
|
| "is_supported_media"
|
||||||
|
| "get_supported_media_domains"
|
||||||
|
| "create_category_directories" => parity_handler(invoke),
|
||||||
|
"db_save_settings"
|
||||||
|
| "db_load_settings"
|
||||||
|
| "canonicalize_torrent_network_setting"
|
||||||
|
| "db_get_all_downloads"
|
||||||
|
| "db_replace_downloads"
|
||||||
|
| "db_commit_download_state"
|
||||||
|
| "clear_torrent_removal_paths"
|
||||||
|
| "reconcile_torrent_removal_reservations"
|
||||||
|
| "db_get_all_queues"
|
||||||
|
| "db_replace_queues" => database_handler(invoke),
|
||||||
|
"read_logs"
|
||||||
|
| "export_logs"
|
||||||
|
| "toggle_log_pause"
|
||||||
|
| "is_log_paused"
|
||||||
|
| "clear_logs"
|
||||||
|
| "set_log_stream_active" => logs_handler(invoke),
|
||||||
|
_ => false,
|
||||||
}
|
}
|
||||||
"get_system_proxy"
|
|
||||||
| "get_file_category"
|
|
||||||
| "check_for_updates"
|
|
||||||
| "is_supported_media"
|
|
||||||
| "get_supported_media_domains"
|
|
||||||
| "create_category_directories"
|
|
||||||
| "db_save_settings"
|
|
||||||
| "db_load_settings"
|
|
||||||
| "canonicalize_torrent_network_setting"
|
|
||||||
| "db_get_all_downloads"
|
|
||||||
| "db_replace_downloads"
|
|
||||||
| "db_commit_download_state"
|
|
||||||
| "clear_torrent_removal_paths"
|
|
||||||
| "reconcile_torrent_removal_reservations"
|
|
||||||
| "db_get_all_queues"
|
|
||||||
| "db_replace_queues"
|
|
||||||
| "read_logs"
|
|
||||||
| "export_logs"
|
|
||||||
| "toggle_log_pause"
|
|
||||||
| "is_log_paused"
|
|
||||||
| "clear_logs"
|
|
||||||
| "set_log_stream_active" => persistence_and_logs_handler(invoke),
|
|
||||||
_ => false,
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
.build(tauri::generate_context!())
|
.build(tauri::generate_context!())
|
||||||
.expect("error while building tauri application")
|
.expect("error while building tauri application")
|
||||||
|
|||||||
Reference in New Issue
Block a user