Add basic ExtensionPoint support.

This commit is contained in:
Maurice Parker
2020-04-07 15:25:33 -05:00
parent f8667be32b
commit 49cff8eb8e
29 changed files with 299 additions and 140 deletions

View File

@@ -0,0 +1,42 @@
//
// SmallIconProvider.swift
// NetNewsWire
//
// Created by Brent Simmons on 12/16/17.
// Copyright © 2017 Ranchero Software. All rights reserved.
//
import Foundation
import Articles
import Account
import RSCore
protocol SmallIconProvider {
var smallIcon: IconImage? { get }
}
extension Account: SmallIconProvider {
var smallIcon: IconImage? {
if let image = AppAssets.image(for: type) {
return IconImage(image)
}
return nil
}
}
extension WebFeed: SmallIconProvider {
var smallIcon: IconImage? {
if let iconImage = appDelegate.faviconDownloader.favicon(for: self) {
return iconImage
}
return FaviconGenerator.favicon(self)
}
}
extension Folder: SmallIconProvider {
var smallIcon: IconImage? {
AppAssets.masterFolderImage
}
}