d0a12847-494a-4347-ae88-d87.../Sources/MioPlugin.swift

22 lines
592 B
Swift

//
// MioPlugin.swift
// MioIsland Plugin SDK
//
// Duplicate of the protocol from the host app. At runtime, @objc
// protocol conformance is matched by selector signatures, not by
// module identity, so this standalone copy works for .bundle plugins.
//
import AppKit
@objc protocol MioPlugin: AnyObject {
var id: String { get }
var name: String { get }
var icon: String { get }
var version: String { get }
func activate()
func deactivate()
func makeView() -> NSView
@objc optional func viewForSlot(_ slot: String, context: [String: Any]) -> NSView?
}