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
TypeScript
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