import IPostMessage from '../../IPostMessage'; import { IpAddressType } from '../MDC/Mdc'; import INativeNmcCommands, { INMCResponse } from './INativeNmcCommands'; import { NmcCommands } from './CommandsNmc'; /** * The `sos.native.nmc` API groups together methods for controlling WebOs devices using NMC commands. * * :::warning * This API is currently available on WebOs devices only. * ::: * *
* NMC Management Capabilities * | Capability | Description | * |:------------|:-------------| * | `NATIVE_COMMANDS_NMC` | If device supports performing NMC commands | * * If you want to check if the device supports this capability, use [`sos.management.supports()`](https://developers.signageos.io/sdk/sos_management/#supports). *
*/ export default class Nmc implements INativeNmcCommands { private messagePrefix; private postMessage; static MESSAGE_PREFIX: string; /** @internal */ constructor(messagePrefix: string, postMessage: IPostMessage); /** * The `sendOne()` method sends an NMC command to another WebOS device on the same network or to the localhost. * * @param ipAddress The IP address of the device to send the command to. * @param command The NMC command to send. See {@link NmcCommands} for available commands. * @param data The optional data to send with the command. * @throws {Error} If the `ipAddress` is not a valid string or if the `command` is not a valid number. * @throws {Error} If the `data` is not an array of strings. * @throws {Error} If any error occurs during the command execution. * @returns {Promise} NMC response object containing the result of the command execution. * @since 6.5.1 * * @example * // Send a command to a WebOS device at IP address for menu open * await sos.native.nmc.sendOne('192.168.0.10', ['m','c'], ['43']); * * // Send a command to a WebOS device at IP address for device power on * await sos.native.nmc.sendOne('192.168.0.10', ['k', 'a'], ['1']); * */ sendOne(ipAddress: IpAddressType, command: typeof NmcCommands, data: string[] | []): Promise; private getMessage; private getMessagePrefix; }