hap-nodejs
Version:
HAP-NodeJS is a Node.js implementation of HomeKit Accessory Server.
73 lines • 3.46 kB
TypeScript
import type { DataStreamTransportManagement } from "../definitions";
import { DataStreamConnection, DataStreamServerEvent, GlobalEventHandler, GlobalRequestHandler, Protocols, Topics } from "./DataStreamServer";
/**
* @group HomeKit Data Streams (HDS)
*/
export declare const enum DataStreamStatus {
SUCCESS = 0,
GENERIC_ERROR = 1,
BUSY = 2
}
/**
* @group HomeKit Data Streams (HDS)
*/
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 - name of the protocol to register the handler for
* @param event - name of the event (also referred to as topic. See {@link Topics} for some known ones)
* @param handler - function to be called for every occurring event
*/
onEventMessage(protocol: string | Protocols, event: string | Topics, handler: GlobalEventHandler): this;
/**
* Removes a registered event handler.
*
* @param protocol - name of the protocol to unregister the handler for
* @param event - name of the event (also referred to as topic. See {@link Topics} for some known ones)
* @param handler - registered event handler
*/
removeEventHandler(protocol: string | Protocols, event: string | Topics, 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 - name of the protocol to register the handler for
* @param request - name of the request (also referred to as topic. See {@link Topics} for some known ones)
* @param handler - function to be called for every occurring request
*/
onRequestMessage(protocol: string | Protocols, request: string | Topics, handler: GlobalRequestHandler): this;
/**
* Removes a registered request handler.
*
* @param protocol - name of the protocol to unregister the handler for
* @param request - name of the request (also referred to as topic. See {@link Topics} for some known ones)
* @param handler - registered request handler
*/
removeRequestHandler(protocol: string | Protocols, request: string | Topics, 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