gp-mqtt-client
Version:
Simple MQTT Client (no auth, decode base64, ...)
60 lines (59 loc) • 2.1 kB
TypeScript
/**
* gp-mqtt-client | Simple MQTT Client
*
* @author Greg PFISTER
* @since 0.1.0
* @license MIT
* @copyright (C) 2021, Greg PFISTER. MIT License
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
/// <reference types="node" />
import EventEmitter from 'events';
import { GPPublishOptions, GPSubscribeOptions, GPTopic } from '../models';
/**
* MQTT Controller
*/
export declare class GPMqttController extends EventEmitter {
private _logger;
private _client?;
private _hostname;
private _port;
private _protocol;
private _deviceId;
private _autoConnect;
private _topic?;
/**
* Build a MQTT Controller that will connect to an MQTT server via TCP
* @param hostname The hostname
* @param port The port number
* @param protocol The protocol (e.g. mqtt). Only mqtt supported for the time been
* @param autoConnect Specifies if the client will autoconnect after been disconnected
* @param verbose Output info message
* @param debug Output debug message
*/
constructor(hostname: string, port: number, protocol: string, autoConnect: boolean, verbose?: boolean, debug?: boolean);
/**
* Connect to the MQTT server
*/
connect(): void;
/**
* Subscribe to a topic
* @param topic The topic to subscribe to
* @param options Options
*/
subscribe(topic: GPTopic, options: GPSubscribeOptions): void;
/**
* Subscribe to a topic
* @param topic The topic to publish to
* @param message The message to publish
* @param options Options
*/
publish(topic: GPTopic, message: string, options: GPPublishOptions): void;
}