mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-10-31 08:15:24 +00:00
2462ddea85
* swift 6 support for NSE and concurrency safe implementations for it * enforcing required Sendable conformance for swift 6 migration in NSE * use Mutex to access the string builder cache * use an async stream to update timeline items diffs * fix for Sendable appHooks
26 lines
769 B
Swift
26 lines
769 B
Swift
//
|
|
// Copyright 2025 Element Creations Ltd.
|
|
// Copyright 2022-2025 New Vector Ltd.
|
|
//
|
|
// SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial.
|
|
// Please see LICENSE files in the repository root for full details.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
enum MediaLoaderError: Error {
|
|
case missingClient
|
|
case notSupported
|
|
case invalidURL
|
|
case unexpectedResponse
|
|
}
|
|
|
|
// sourcery: AutoMockable
|
|
protocol MediaLoaderProtocol: Sendable {
|
|
func loadMediaContentForSource(_ source: MediaSourceProxy) async throws -> Data
|
|
|
|
func loadMediaThumbnailForSource(_ source: MediaSourceProxy, width: UInt, height: UInt) async throws -> Data
|
|
|
|
func loadMediaFileForSource(_ source: MediaSourceProxy, filename: String?) async throws -> MediaFileHandleProxy
|
|
}
|