UNPKG

@gluestack/glue-plugin-sdk

Version:
59 lines (50 loc) 1.72 kB
import IApp from "@gluestack/framework/types/app/interface/IApp"; import IPlugin from "@gluestack/framework/types/plugin/interface/IPlugin"; import IInstance from "@gluestack/framework/types/plugin/interface/IInstance"; import ILifeCycle from "@gluestack/framework/types/plugin/interface/ILifeCycle"; import { PluginInstanceContainerController } from "./PluginInstanceContainerController"; import IContainerController from "@gluestack/framework/types/plugin/interface/IContainerController"; import IHasContainerController from "@gluestack/framework/types/plugin/interface/IHasContainerController"; import IGlueStorePlugin from "@gluestack/framework/types/store/interface/IGluePluginStore"; export class PluginInstance implements IInstance, IHasContainerController, ILifeCycle { app: IApp; name: string; callerPlugin: IPlugin; containerController: IContainerController; isOfTypeInstance: boolean = false; gluePluginStore: IGlueStorePlugin; installationPath: string; constructor( app: IApp, callerPlugin: IPlugin, name: string, gluePluginStore: IGlueStorePlugin, installationPath: string, ) { this.app = app; this.name = name; this.callerPlugin = callerPlugin; this.gluePluginStore = gluePluginStore; this.installationPath = installationPath; this.containerController = new PluginInstanceContainerController(app, this); } init() { // } destroy() { // } getName(): string { return this.name; } getCallerPlugin(): IPlugin { return this.callerPlugin; } getInstallationPath(): string { return this.installationPath; } getContainerController(): IContainerController { return this.containerController; } }