mirror of
https://github.com/kodjodevf/mangayomi.git
synced 2026-01-11 22:40:36 +00:00
42 lines
No EOL
1.8 KiB
Dart
42 lines
No EOL
1.8 KiB
Dart
import 'windows_protocol.dart'
|
|
if (dart.library.js_interop) 'web_url_protocol.dart';
|
|
|
|
/// Registers a protocol by [scheme] to allow for links in the form `<scheme>://...`
|
|
/// to be processed by this application. By default, opening a link will open
|
|
/// the executable that was used to register the scheme with the URL as the first
|
|
/// argument passed to the executable.
|
|
///
|
|
/// If a protocol is already registered for the given scheme, this function will
|
|
/// attempt to overwrite the previous handler with the current executable information.
|
|
/// However, note that depending on process permissions, this operation may be
|
|
/// disallowed by the underlying platform.
|
|
///
|
|
/// You may pass an [executable] to override the path to the executable to run
|
|
/// when accessing the URL.
|
|
///
|
|
/// [arguments] is a list of arguments to be used when running the executable.
|
|
/// If passed, the list must contain at least one element, and at least one of
|
|
/// those elements must contain the literal value `%s` to denote the URL to open.
|
|
/// Quoting arguments is not necessary, as this will be handled for you.
|
|
/// Escaping the `%s` as an unprocessed literal is currently unsupported.
|
|
void registerProtocolHandler(
|
|
String scheme, {
|
|
String? executable,
|
|
List<String>? arguments,
|
|
}) {
|
|
WindowsProtocolHandler().register(
|
|
scheme,
|
|
executable: executable,
|
|
arguments: arguments,
|
|
);
|
|
}
|
|
|
|
/// Unregisters the protocol handler with the underlying platform. The provided
|
|
/// [scheme] will no longer be used in links.
|
|
///
|
|
/// Note that this will unregister a protocol by scheme regardless of which process
|
|
/// had registered it. Unregistering a scheme that was not registered by this
|
|
/// application is undefined and depends on platform-specific restrictions.
|
|
void unregisterProtocolHandler(String scheme) {
|
|
WindowsProtocolHandler().unregister(scheme);
|
|
} |