30 lines
612 B
Swift
30 lines
612 B
Swift
//
|
|
// TrayIconModuleBuilder.swift
|
|
// PrivadoVPN
|
|
//
|
|
// Created by Juraldinio on 12/7/20.
|
|
// Copyright © 2020 Privado LLC. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
import AppKit
|
|
|
|
protocol TrayIconControllerModule: AnyObject {
|
|
var button: NSButton? { get }
|
|
func show()
|
|
func hide()
|
|
}
|
|
|
|
final class TrayIconModuleBuilder {
|
|
|
|
static func build(output: Any?) -> TrayIconControllerModule {
|
|
|
|
let presenter = TrayIconPresenter(output: output)
|
|
let view = TrayIconController(output: presenter)
|
|
|
|
presenter.viewInput = view
|
|
|
|
return view
|
|
}
|
|
}
|