TM-SGNL-iOS/SignalServiceKit/UISupport/WallpaperImageStore.swift
TeleMessage developers dde0620daf initial commit
2025-05-03 12:28:28 -07:00

34 lines
1.2 KiB
Swift

//
// Copyright 2024 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
//
import Foundation
public protocol WallpaperImageStore {
/// Pass nil to remove any existing wallpaper.
/// Opens a sneaky transaction; should not be called from within a transaction.
/// - Parameter onInsert: a block to execute when inserting the new image.
func setWallpaperImage(
_ photo: UIImage?,
for thread: TSThread,
onInsert: @escaping (DBWriteTransaction) throws -> Void
) throws
/// Pass nil to remove any existing wallpaper.
/// Opens a sneaky transaction; should not be called from within a transaction.
/// - Parameter onInsert: a block to execute when inserting the new image.
func setGlobalThreadWallpaperImage(
_ photo: UIImage?,
onInsert: @escaping (DBWriteTransaction) throws -> Void
) throws
func loadWallpaperImage(for thread: TSThread, tx: DBReadTransaction) -> UIImage?
func loadGlobalThreadWallpaper(tx: DBReadTransaction) -> UIImage?
func copyWallpaperImage(from fromThread: TSThread, to toThread: TSThread, tx: DBWriteTransaction) throws
func resetAllWallpaperImages(tx: DBWriteTransaction) throws
}