NetNewsWire/Frameworks/Account/AccountDelegate.swift

38 lines
1.1 KiB
Swift
Raw Normal View History

//
// AccountDelegate.swift
// Account
//
// Created by Brent Simmons on 9/16/17.
// Copyright © 2017 Ranchero Software, LLC. All rights reserved.
//
import Foundation
import RSWeb
public protocol AccountDelegate {
2017-09-28 22:16:47 +02:00
// Local account does not; some synced accounts might.
var supportsSubFolders: Bool { get }
var server: String? { get }
static func validateCredentials(transport: Transport, credentials: Credentials, completionHandler handler: @escaping (Result<Bool, Error>) -> Void)
var refreshProgress: DownloadProgress { get }
func refreshAll(for: Account)
// Called at the end of accounts init method.
func accountDidInitialize(_ account: Account)
// Called at the end of initializing an Account using data from disk.
// Delegate has complete control over what goes in userInfo and what it means.
// Called even if userInfo is nil, since the delegate might have other
// things to do at init time anyway.
func update(account: Account, withUserInfo: NSDictionary?)
// Saved to disk with other Account data. Could be called at any time.
// And called many times.
func userInfo(for: Account) -> NSDictionary?
}