This repository has been archived by the owner. It is now read-only.
Permalink
Cannot retrieve contributors at this time
executable file
29 lines (24 sloc)
891 Bytes
| /* This Source Code Form is subject to the terms of the Mozilla Public | |
| * License, v. 2.0. If a copy of the MPL was not distributed with this | |
| * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ | |
| import UIKit | |
| import Shared | |
| // A small structure to encapsulate all the possible data that we can get | |
| // from an application sharing a web page or a URL. | |
| public struct ShareItem { | |
| public let url: String | |
| public let title: String? | |
| public let favicon: Favicon? | |
| public init(url: String, title: String?, favicon: Favicon?) { | |
| self.url = url | |
| self.title = title | |
| self.favicon = favicon | |
| } | |
| // We only support sharing HTTP and HTTPS URLs, as well as data URIs. | |
| public var isShareable: Bool { | |
| return URL(string: url)?.isWebPage() ?? false | |
| } | |
| } | |
| public protocol ShareToDestination { | |
| func shareItem(_ item: ShareItem) -> Success | |
| } |