/** @packageDocumentation * Komponente als semantische Einheit fuer Plugins und Klassen. * * Letzte Aenderung: 28.06.2021 * Status: rot * * @module core/component * @author SB */ import { OnSpeechErrorFunc } from '../interface/speech-function.type'; import { EventFunc } from '../event/event-function.type'; import { IMessage } from './../message/message.interface'; import { PluginGroup } from '../plugin/plugin-group'; import { IComponent, ComponentSendMessageFunc, ComponentHandleMessageFunc } from './component.interface'; /** * Definiert die Basisklasse aller Komponenten */ export declare class Component extends PluginGroup implements IComponent { private mSendMessageFunc; private mInitEvent; private mErrorEvent; /** * Creates an instance of Component * * @param {string} aComponentName - Name der Komponente * @param {boolean} aRegisterFlag - wenn true, dann wird Komponente in PluginManager eingetragen */ constructor(aComponentName: string, aRegisterFlag?: boolean); getType(): string; getClass(): string; getVersion(): string; /** * Initalisiert das Plugin * * @param {any} [aOption] - optionale Parameter * @return {number} errorCode (0,-1) - Fehlercode */ init(aOption?: any): number; /** * Gibt das plugin frei * * @return {number} errorCode (0,-1) - Fehlercode */ done(): number; /** * Fehlerausgabe ueber die Konsole ein/ausschalten * * @protected * @param {boolean} aErrorOutputFlag - True, wenn Konsolenausgabe ein */ setErrorOutput(aErrorOutputFlag: boolean): void; /** * Komponente mit Server verbinden * * @returns {number} errorCode(0,-1) */ connect(): number; /** * Pruefen, ob Komponente erfolgreich mit dem Server verbunden ist * * @return {boolean} true, erfolgreich verbunden, false sonst. */ isConnect(): boolean; /** * Rueckgabe des Typs des Speech-APIs * * @public * * @return {string} type des Speech-APIS (web, cordova) */ getNetType(): string; /** * EventListener in alle registrierten Plugins eintragen * * @private * @param {string} aPluginName - Name des Plugins, welches eine Eventfunktion eintraegt * @param {string} aEventName - Name des Events * @param {EventFunc} aEventFunc - Funktion fuer den Event * * @return {number} errorCode (0,-1) - Fehlercode, ob Event eingetragen wurde oder nicht */ protected _addEventListenerAllPlugin(aPluginName: string, aEventName: string, aEventFunc: EventFunc): number; /** * EventListener aus allen registrierten Plugins entfernen * * @private * @param {string} aPluginName - Name des Plugins, welches eine Eventfunktion eintraegt * @param {string} aEventName - Name des Events * * @return {number} errorCode (0,-1) - Fehlercode, ob ein Event entfernt wurde */ protected _removeEventListenerAllPlugin(aPluginName: string, aEventName: string): number; /** * Eintragen der externen SendMessage-Funktion * * @param aSendMessageFunc - einzuragende Sende-Funktion fuer Nachrichten * * @return Fehlercode 0 oder -1 */ setSendMessageFunc(aSendMessageFunc: ComponentSendMessageFunc): number; /** * Senden einer Nachricht * * @param {IMessage} aMessage - Nachrichtenobjet * @return {number} */ sendMessage(aMessage: IMessage): number; /** * Behandelt alle empfangenen Nachrichten * * @param {IMessage} aMessage - Nachrichtenpaket * * @return Rueckgabe, ob Nachricht verarbeitet wurde (true) oder nicht (false) */ handleMessage(aMessage: IMessage): boolean; /** * Rueckgabe der Nachrichtenverarbeitungsfunktion * * @return {ComponentHandleMessageFunc} handleMessageFunc */ getHandleMessageFunc(): ComponentHandleMessageFunc; /** * Ereignisfunktion fuer Sprachausgabe gestoppt * * @private * @return {number} errorCode(0,-1) */ protected _onInit(): number; get onInit(): OnSpeechErrorFunc; /** * Ereignisfunktion fuer Sprachausgabe gestoppt * * @private * @return {number} errorCode(0,-1) */ protected _onError(aError: any): number; get onError(): OnSpeechErrorFunc; /** * EventFunktion eintragen * * @param {string} aPluginName - Name des Listeners * @param {string} aEventName - Name des Events * @param {EventFunc} aEventFunc - Funktion fuer den Event * * @return {number} errorcode(0,-1) */ addEventListener(aPluginName: string, aEventName: string, aEventFunc: EventFunc): number; /** * EventFunktion entfernen * * @param {string} aPluginName - Name des Listeners (Pluginname) * @param {string} aEventName - Name des Events */ removeEventListener(aPluginName: string, aEventName: string): number; }