2019-07-28 15:08:13 -07:00
|
|
|
//
|
|
|
|
|
// AppProtocol.swift
|
|
|
|
|
// AltStore
|
|
|
|
|
//
|
|
|
|
|
// Created by Riley Testut on 7/26/19.
|
|
|
|
|
// Copyright © 2019 Riley Testut. All rights reserved.
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
import AltSign
|
2023-03-01 00:48:36 -05:00
|
|
|
import Foundation
|
2019-07-28 15:08:13 -07:00
|
|
|
|
2023-03-01 00:48:36 -05:00
|
|
|
public protocol AppProtocol {
|
2019-07-28 15:08:13 -07:00
|
|
|
var name: String { get }
|
|
|
|
|
var bundleIdentifier: String { get }
|
2022-09-08 15:59:24 -05:00
|
|
|
var url: URL? { get }
|
2019-07-28 15:08:13 -07:00
|
|
|
}
|
|
|
|
|
|
2023-03-01 00:48:36 -05:00
|
|
|
public struct AnyApp: AppProtocol {
|
2021-10-25 22:27:30 -07:00
|
|
|
public var name: String
|
|
|
|
|
public var bundleIdentifier: String
|
2022-09-08 15:59:24 -05:00
|
|
|
public var url: URL?
|
2023-03-01 00:48:36 -05:00
|
|
|
|
|
|
|
|
public init(name: String, bundleIdentifier: String, url: URL?) {
|
2021-10-25 22:27:30 -07:00
|
|
|
self.name = name
|
|
|
|
|
self.bundleIdentifier = bundleIdentifier
|
|
|
|
|
self.url = url
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2023-03-01 00:48:36 -05:00
|
|
|
extension ALTApplication: AppProtocol {
|
2022-09-08 15:59:24 -05:00
|
|
|
public var url: URL? {
|
2023-03-01 00:48:36 -05:00
|
|
|
fileURL
|
2019-07-28 15:08:13 -07:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2023-03-01 00:48:36 -05:00
|
|
|
extension StoreApp: AppProtocol {
|
2022-09-08 15:59:24 -05:00
|
|
|
public var url: URL? {
|
2023-03-01 00:48:36 -05:00
|
|
|
downloadURL
|
2019-07-28 15:08:13 -07:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2023-03-01 00:48:36 -05:00
|
|
|
extension InstalledApp: AppProtocol {
|
2022-09-08 15:59:24 -05:00
|
|
|
public var url: URL? {
|
2023-03-01 00:48:36 -05:00
|
|
|
fileURL
|
2019-07-28 15:08:13 -07:00
|
|
|
}
|
|
|
|
|
}
|