UNPKG

homebridge-plugin-wrapper

Version:

Wrapper for Homebridge and NodeJS-HAP with reduced dependencies that allows to intercept plugin values and also send to them

67 lines 3.49 kB
import type { DataStreamTransportManagement } from "../definitions"; import { DataStreamConnection, DataStreamServerEvent, GlobalEventHandler, GlobalRequestHandler } from "./DataStreamServer"; export declare const enum DataStreamStatus { SUCCESS = 0, GENERIC_ERROR = 1, BUSY = 2 } export declare class DataStreamManagement { private readonly dataStreamServer; private readonly dataStreamTransportManagementService; private readonly supportedDataStreamTransportConfiguration; private lastSetupDataStreamTransportResponse; constructor(service?: DataStreamTransportManagement); destroy(): void; /** * @returns the DataStreamTransportManagement service */ getService(): DataStreamTransportManagement; /** * Registers a new event handler to handle incoming event messages. * The handler is only called for a connection if for the give protocol no ProtocolHandler * was registered on the connection level. * * @param protocol {string | Protocols} - name of the protocol to register the handler for * @param event {string | Topics} - name of the event (also referred to as topic. See {Topics} for some known ones) * @param handler {GlobalEventHandler} - function to be called for every occurring event */ onEventMessage(protocol: string, event: string, handler: GlobalEventHandler): this; /** * Removes an registered event handler. * * @param protocol {string | Protocols} - name of the protocol to unregister the handler for * @param event {string | Topics} - name of the event (also referred to as topic. See {Topics} for some known ones) * @param handler {GlobalEventHandler} - registered event handler */ removeEventHandler(protocol: string, event: string, handler: GlobalEventHandler): this; /** * Registers a new request handler to handle incoming request messages. * The handler is only called for a connection if for the give protocol no ProtocolHandler * was registered on the connection level. * * @param protocol {string | Protocols} - name of the protocol to register the handler for * @param request {string | Topics} - name of the request (also referred to as topic. See {Topics} for some known ones) * @param handler {GlobalRequestHandler} - function to be called for every occurring request */ onRequestMessage(protocol: string, request: string, handler: GlobalRequestHandler): this; /** * Removes an registered request handler. * * @param protocol {string | Protocols} - name of the protocol to unregister the handler for * @param request {string | Topics} - name of the request (also referred to as topic. See {Topics} for some known ones) * @param handler {GlobalRequestHandler} - registered request handler */ removeRequestHandler(protocol: string, request: string, handler: GlobalRequestHandler): this; /** * Forwards any event listener for an DataStreamServer event to the DataStreamServer instance * * @param event - the event to register for * @param listener - the event handler */ onServerEvent(event: DataStreamServerEvent, listener: (connection: DataStreamConnection) => void): this; private handleSetupDataStreamTransportWrite; private buildSupportedDataStreamTransportConfigurationTLV; private constructService; private setupServiceHandlers; } //# sourceMappingURL=DataStreamManagement.d.ts.map