capabilitiesForOperatingSystem static method
Implementation
@visibleForTesting
static FilegateCapabilities capabilitiesForOperatingSystem(
String operatingSystem,
) {
return switch (operatingSystem) {
'android' => const FilegateCapabilities(
supportsFilePicking: true,
supportsDirectoryPicking: true,
supportsMixedPicking: false,
supportsInitialDirectory: true,
supportsPersistedAccess: true,
supportsNativeUriRead: true,
supportsFileSaving: true,
supportsFileWriting: true,
supportsFileStreamWriting: true,
),
'ios' => const FilegateCapabilities(
supportsFilePicking: true,
supportsDirectoryPicking: true,
supportsMixedPicking: true,
supportsInitialDirectory: true,
supportsPersistedAccess: false,
supportsNativeUriRead: true,
supportsFileSaving: true,
supportsFileWriting: true,
supportsFileStreamWriting: true,
),
'macos' => const FilegateCapabilities(
supportsFilePicking: true,
supportsDirectoryPicking: true,
supportsMixedPicking: true,
supportsInitialDirectory: true,
supportsPersistedAccess: true,
supportsNativeUriRead: false,
supportsFileSaving: true,
supportsFileWriting: true,
supportsFileStreamWriting: true,
),
'windows' => const FilegateCapabilities(
supportsFilePicking: true,
supportsDirectoryPicking: true,
supportsMixedPicking: false,
supportsInitialDirectory: true,
supportsPersistedAccess: true,
supportsNativeUriRead: false,
supportsFileSaving: true,
supportsFileWriting: true,
supportsFileStreamWriting: true,
),
'linux' => const FilegateCapabilities(
supportsFilePicking: true,
supportsDirectoryPicking: true,
supportsMixedPicking: false,
supportsInitialDirectory: true,
supportsPersistedAccess: true,
supportsNativeUriRead: false,
supportsFileSaving: true,
supportsFileWriting: true,
supportsFileStreamWriting: true,
),
_ => const FilegateCapabilities(
supportsFilePicking: false,
supportsDirectoryPicking: false,
supportsMixedPicking: false,
supportsInitialDirectory: false,
supportsPersistedAccess: false,
supportsNativeUriRead: false,
),
};
}