/** @packageDocumentation * PluginManager zur Verwaltung aller Plugins * * Letzte Aenderung: 28.06.2021 * Status: gruen * * @module core/plugin * @author SB */ import { SpeechErrorFunc } from '../interface/speech-function.type'; import { IPluginFactory } from './plugin-factory.interface'; import { IPlugin } from './plugin.interface'; export declare class PluginManager { private static mPluginList; /** * statische ErrorBase fuer die Fehlerbehandlung */ private static mErrorBase; private constructor(); static setErrorOutputOn(): void; static setErrorOutputOff(): void; /** * Eintragen einer Fehlerbehandlungsfunktion * * @param {SpeechErrorFunc} aErrorFunc - Fehlerbehandlungsfunktion */ static setErrorOutputFunc(aErrorFunc: SpeechErrorFunc): void; /** * Rueckgabe der Anzahl vorhandener Plugins * * @return {number} size - Anzahl der Plugins in der Liste */ static getSize(): number; /** * Rueckgabe aller vorhandenen Plugin-Namen * * @return {Array} Rueckgabe aller Plugin-Namen als Liste */ static getNameList(): Array; /** * Rueckgabe eines Plugins. * * @param aPluginName - Instanzen-Name des Plugins * @param [aPluginClass] - Klassen-Name des Plugins * @param [aPluginFactory] - Plugin Fabrik Klasse * * @return Rueckgabe des Plugins oder null */ static get(aPluginName: string, aPluginClass?: string, aPluginFactory?: IPluginFactory): IPlugin; /** * Rueckgabe eines Plugins * * @param {string} aPluginName - Name des Plugins * * @return {AudioPluginInterface} - Rueckgabe des AudioPlugins */ static find(aPluginName: string): IPlugin; /** * Eintragen eines Plugin * * @param {string} aPluginName - Name des Plugins * @param {IPlugin} aPlugin - Plugin * * @return {number} errorCode(0,-1) - Fehlercode */ static insert(aPluginName: string, aPlugin: IPlugin): number; /** * Entfernt das Plugin aus der Liste * * @param {string} aPluginName - Name des Plugins * * @return {number} errorCode (0,-1) - Fehlercode */ static remove(aPluginName: string): number; /** * Entfernt alle Plugins. Die Plugins werden vorher mit done() freigegeben. * * @return {number} errorCode (0,-1) - Fehlercode */ static clear(): number; }