"use strict";
/**
 * This file has been generated
 * DO NOT EDIT, IT MAY BE OVERWRITTEN
 */
var __extends = (this && this.__extends) || (function () {
    var extendStatics = Object.setPrototypeOf ||
        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
    return function (d, b) {
        extendStatics(d, b);
        function __() { this.constructor = d; }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
})();
Object.defineProperty(exports, "__esModule", { value: true });
var abstract_service_1 = require("../abstract-service");
var InterfaceService = /** @class */ (function (_super) {
    __extends(InterfaceService, _super);
    function InterfaceService(client, apiConfig) {
        var _this = _super.call(this, client, apiConfig) || this;
        _this.resources = {
            'getAppName': {
                path: "/interface/app-name",
                methodType: "get",
                returnTypeConverter: "string"
            },
            'getAppPath': {
                path: "/interface/app-path",
                methodType: "get",
                returnTypeConverter: "string"
            },
            'getApplicationParameters': {
                path: "/interface/application-parameters",
                methodType: "get",
                returnTypeConverter: "Bytes"
            },
            'getAuthorizedHostProtocol': {
                path: "/interface/authorized-host-protocol",
                methodType: "get",
                returnTypeConverter: "Array<HostProtocol>"
            },
            'getAvailableHostProtocols': {
                path: "/interface/available-host-protocols",
                methodType: "get",
                returnTypeConverter: "Array<HostProtocol>"
            },
            'getBleAddress': {
                path: "/interface/ble/address",
                methodType: "get",
                returnTypeConverter: "string_macaddress"
            },
            'getCloudClientId': {
                path: "/interface/cloud/client-id",
                methodType: "get",
                returnTypeConverter: "string"
            },
            'getCloudConnectionMode': {
                path: "/interface/cloud/connection-mode",
                methodType: "get",
                returnTypeConverter: "CloudConnectionMode"
            },
            'getCloudGatewayUrl': {
                path: "/interface/cloud-gateway-url",
                methodType: "get",
                returnTypeConverter: "string"
            },
            'getCloudLogin': {
                path: "/interface/cloud/login",
                methodType: "get",
                returnTypeConverter: "string"
            },
            'getCloudPassword': {
                path: "/interface/cloud/password",
                methodType: "get",
                returnTypeConverter: "string"
            },
            'getCloudServiceName': {
                path: "/interface/cloud/service-name",
                methodType: "get",
                returnTypeConverter: "string"
            },
            'getConfigFormatFirmwareVersion': {
                path: "/interface/config-format-firmware-version",
                methodType: "get",
                returnTypeConverter: "integer_uint16"
            },
            'getConfigFormatVersion': {
                path: "/interface/config-format-version",
                methodType: "get",
                returnTypeConverter: "integer_uint16"
            },
            'getConfigVersion': {
                path: "/interface/config-version",
                methodType: "get",
                returnTypeConverter: "TapVersion"
            },
            'getCurrentGroupId': {
                path: "/interface/current-group-id",
                methodType: "get",
                returnTypeConverter: "integer_uint16"
            },
            'getCurrentHostProtocol': {
                path: "/interface/current-host-protocol",
                methodType: "get",
                returnTypeConverter: "HostProtocol"
            },
            'getCurrentProfileId': {
                path: "/interface/current-profile/id",
                methodType: "get",
                returnTypeConverter: "integer_uint16"
            },
            'getFunctions': {
                path: "/interface/functions",
                methodType: "get",
                returnTypeConverter: "AvailableFunction"
            },
            'getHostInactivityPeriod': {
                path: "/interface/host-inactivity-period",
                methodType: "get",
                returnTypeConverter: "integer_uint16"
            },
            'getLock': {
                path: "/interface/lock",
                methodType: "get",
                returnTypeConverter: "InterfaceLock"
            },
            'getMqttRelayClientId': {
                path: "/interface/mqtt/relay/client-id",
                methodType: "get",
                returnTypeConverter: "string"
            },
            'getMqttRelayLogin': {
                path: "/interface/mqtt/relay/login",
                methodType: "get",
                returnTypeConverter: "string"
            },
            'getMqttRelayNetKey': {
                path: "/interface/mqtt/relay/net-key",
                methodType: "get",
                returnTypeConverter: "string"
            },
            'getMqttRelayPassword': {
                path: "/interface/mqtt/relay/password",
                methodType: "get",
                returnTypeConverter: "string"
            },
            'getMqttRelayPort': {
                path: "/interface/mqtt/relay/port",
                methodType: "get",
                returnTypeConverter: "string"
            },
            'getMqttRelayUrl': {
                path: "/interface/mqtt/relay/url",
                methodType: "get",
                returnTypeConverter: "string"
            },
            'getNetworkGatewayIp': {
                path: "/interface/network/gateway-ip",
                methodType: "get",
                returnTypeConverter: "string_ipv4"
            },
            'getNetworkInfraIp': {
                path: "/interface/network/infra-ip",
                methodType: "get",
                returnTypeConverter: "string_ipv4"
            },
            'getNetworkInfraIpMask': {
                path: "/interface/network/infra-ip-mask",
                methodType: "get",
                returnTypeConverter: "string_ipv4mask"
            },
            'getNetworkMode': {
                path: "/interface/network-mode",
                methodType: "get",
                returnTypeConverter: "NetworkMode"
            },
            'getNfcPairingMode': {
                path: "/interface/nfc/pairing-mode",
                methodType: "get",
                returnTypeConverter: "NfcPairingMode"
            },
            'getPowerOptimisationLevel': {
                path: "/interface/power-optimisation-level",
                methodType: "get",
                returnTypeConverter: "LowPowerOptimisationLevel"
            },
            'getPublicPassword': {
                path: "/interface/public-password",
                methodType: "get",
                returnTypeConverter: "string"
            },
            'getRand': {
                path: "/interface/rand",
                methodType: "get",
                returnTypeConverter: "Bytes"
            },
            'getSpecialFeatureProfile': {
                path: "/interface/special-feature/{featureId}",
                methodType: "get",
                returnTypeConverter: "integer_uint16"
            },
            'getUniversalLink': {
                path: "/interface/universal-link",
                methodType: "get",
                returnTypeConverter: "string"
            },
            'getUploadPeriod': {
                path: "/cloud/upload-period",
                methodType: "get",
                returnTypeConverter: "integer_uint32"
            },
            'getWepKey': {
                path: "/interface/wep-key",
                methodType: "get",
                returnTypeConverter: "string"
            },
            'getWifiHostname': {
                path: "/interface/wifi/hostname",
                methodType: "get",
                returnTypeConverter: "string"
            },
            'getWifiSSID': {
                path: "/interface/wifi/ssid",
                methodType: "get",
                returnTypeConverter: "string"
            },
            'keepAlive': {
                path: "/interface/keep-alive",
                methodType: "get",
                returnTypeConverter: "integer_uint32"
            },
            'login': {
                path: "/interface/login",
                methodType: "post",
                bodyEncoder: "LoginCredential"
            },
            'loginWithHash': {
                path: "/interface/login-with-hash",
                methodType: "post",
                bodyEncoder: "LoginCredentialHashed"
            },
            'loginWithUID': {
                path: "/interface/login-uid",
                methodType: "post",
                bodyEncoder: "Bytes"
            },
            'logout': {
                path: "/interface/logout",
                methodType: "post"
            },
            'multiRequest': {
                path: "/interface/multi-request",
                methodType: "get",
                returnTypeConverter: "MultiResponse",
                bodyEncoder: "MultiRequest"
            },
            'putAppName': {
                path: "/interface/app-name",
                methodType: "put",
                bodyEncoder: "string"
            },
            'putAppPath': {
                path: "/interface/app-path",
                methodType: "put",
                bodyEncoder: "string"
            },
            'putApplicationParameters': {
                path: "/interface/application-parameters",
                methodType: "put",
                bodyEncoder: "Bytes"
            },
            'putAuthorizedHostProtocol': {
                path: "/interface/authorized-host-protocol",
                methodType: "put",
                bodyEncoder: "Array<HostProtocol>"
            },
            'putCloudClientId': {
                path: "/interface/cloud/client-id",
                methodType: "put",
                bodyEncoder: "string"
            },
            'putCloudConnectionMode': {
                path: "/interface/cloud/connection-mode",
                methodType: "put",
                bodyEncoder: "CloudConnectionMode"
            },
            'putCloudGatewayUrl': {
                path: "/interface/cloud-gateway-url",
                methodType: "put",
                bodyEncoder: "string"
            },
            'putCloudLogin': {
                path: "/interface/cloud/login",
                methodType: "put",
                bodyEncoder: "string"
            },
            'putCloudPassword': {
                path: "/interface/cloud/password",
                methodType: "put",
                bodyEncoder: "string"
            },
            'putCloudServiceName': {
                path: "/interface/cloud/service-name",
                methodType: "put",
                bodyEncoder: "string"
            },
            'putConfigFormatVersion': {
                path: "/interface/config-format-version",
                methodType: "put",
                bodyEncoder: "integer_uint16"
            },
            'putConfigVersion': {
                path: "/interface/config-version",
                methodType: "put",
                bodyEncoder: "integer_uint32"
            },
            'putCurrentHostProtocol': {
                path: "/interface/current-host-protocol",
                methodType: "put",
                bodyEncoder: "HostProtocol"
            },
            'putHostInactivityPeriod': {
                path: "/interface/host-inactivity-period",
                methodType: "put",
                bodyEncoder: "integer_uint16"
            },
            'putLock': {
                path: "/interface/lock",
                methodType: "put",
                bodyEncoder: "InterfaceLock"
            },
            'putMqttRelayNetKey': {
                path: "/interface/mqtt/relay/net-key",
                methodType: "put",
                bodyEncoder: "string"
            },
            'putMqttRelayPassword': {
                path: "/interface/mqtt/relay/password",
                methodType: "put",
                bodyEncoder: "string"
            },
            'putMqttRelayPort': {
                path: "/interface/mqtt/relay/port",
                methodType: "put",
                bodyEncoder: "string"
            },
            'putMqttRelayUrl': {
                path: "/interface/mqtt/relay/url",
                methodType: "put",
                bodyEncoder: "string"
            },
            'putNetworkGatewayIp': {
                path: "/interface/network/gateway-ip",
                methodType: "put",
                bodyEncoder: "string_ipv4"
            },
            'putNetworkInfraIp': {
                path: "/interface/network/infra-ip",
                methodType: "put",
                bodyEncoder: "string_ipv4"
            },
            'putNetworkInfraIpMask': {
                path: "/interface/network/infra-ip-mask",
                methodType: "put",
                bodyEncoder: "string_ipv4mask"
            },
            'putNetworkMode': {
                path: "/interface/network-mode",
                methodType: "put",
                bodyEncoder: "NetworkMode"
            },
            'putNfcPairingMode': {
                path: "/interface/nfc/pairing-mode",
                methodType: "put",
                bodyEncoder: "NfcPairingMode"
            },
            'putPowerOptimisationLevel': {
                path: "/interface/power-optimisation-level",
                methodType: "put",
                bodyEncoder: "LowPowerOptimisationLevel"
            },
            'putSpecialFeatureProfile': {
                path: "/interface/special-feature/{featureId}",
                methodType: "put",
                bodyEncoder: "integer_uint16"
            },
            'putUniversalLink': {
                path: "/interface/universal-link",
                methodType: "put",
                bodyEncoder: "string"
            },
            'putUploadPeriod': {
                path: "/cloud/upload-period",
                methodType: "put",
                bodyEncoder: "integer_uint32"
            },
            'putWepKey': {
                path: "/interface/wep-key",
                methodType: "put",
                bodyEncoder: "string"
            },
            'putWifiSSID': {
                path: "/interface/wifi/ssid",
                methodType: "put",
                bodyEncoder: "string"
            },
            'reloadConfig': {
                path: "/interface/config-version",
                methodType: "post"
            },
            'setSpecialFeatureProfile': {
                path: "/interface/special-feature/{featureId}",
                methodType: "post",
                bodyEncoder: "integer_uint16"
            },
        };
        return _this;
    }
    /**
    * Get application name
    *
    * LWM2M path: /1024//9
    * @return string api call
    */
    InterfaceService.prototype.getAppName = function () {
        var callOptions = this.resources.getAppName;
        return this._call(callOptions);
    };
    /**
    * Get app path
    * Application Android à lancer ou page HTML à afficher quand l&#39;IoTize est détecté par le téléphone
    * LWM2M path: /1024//11
    * @return string api call
    */
    InterfaceService.prototype.getAppPath = function () {
        var callOptions = this.resources.getAppPath;
        return this._call(callOptions);
    };
    /**
    * Get application parameters
    * Paramètres d&#39;application : codes, URL secondaire, etc. le TAP les stocke et les restitue sans les interpréter.
    * LWM2M path: /1024//36
    * @return Uint8Array api call
    */
    InterfaceService.prototype.getApplicationParameters = function () {
        var callOptions = this.resources.getApplicationParameters;
        return this._call(callOptions);
    };
    /**
    * Get authorized host protocols
    *
    * LWM2M path: /1024//17
    * @return Array<HostProtocol> api call
    */
    InterfaceService.prototype.getAuthorizedHostProtocol = function () {
        var callOptions = this.resources.getAuthorizedHostProtocol;
        return this._call(callOptions);
    };
    /**
    * Get available host protocols
    *
    * LWM2M path: /1024//21
    * @return Array<HostProtocol> api call
    */
    InterfaceService.prototype.getAvailableHostProtocols = function () {
        var callOptions = this.resources.getAvailableHostProtocols;
        return this._call(callOptions);
    };
    /**
    * Get ble address
    *
    * LWM2M path: /1024//22
    * @return string api call
    */
    InterfaceService.prototype.getBleAddress = function () {
        var callOptions = this.resources.getBleAddress;
        return this._call(callOptions);
    };
    /**
    * Get cloud client id
    *
    * LWM2M path: /1024//27
    * @return string api call
    */
    InterfaceService.prototype.getCloudClientId = function () {
        var callOptions = this.resources.getCloudClientId;
        return this._call(callOptions);
    };
    /**
    * Get cloud connection mode
    *
    * LWM2M path: /1024//26
    * @return CloudConnectionMode api call
    */
    InterfaceService.prototype.getCloudConnectionMode = function () {
        var callOptions = this.resources.getCloudConnectionMode;
        return this._call(callOptions);
    };
    /**
    * Get cloud gateway url
    * Adresse serveur Web du broker MQTT servant au Cloud. Pour envoyer le data-log par exemple. (Mais PAS pour le Relay MQTT)
    * LWM2M path: /1024//12
    * @return string api call
    */
    InterfaceService.prototype.getCloudGatewayUrl = function () {
        var callOptions = this.resources.getCloudGatewayUrl;
        return this._call(callOptions);
    };
    /**
    * Get cloud login id
    *
    * LWM2M path: /1024//28
    * @return string api call
    */
    InterfaceService.prototype.getCloudLogin = function () {
        var callOptions = this.resources.getCloudLogin;
        return this._call(callOptions);
    };
    /**
    * Get cloud password
    *
    * LWM2M path: /1024//29
    * @return string api call
    */
    InterfaceService.prototype.getCloudPassword = function () {
        var callOptions = this.resources.getCloudPassword;
        return this._call(callOptions);
    };
    /**
    * Get the cloud service name
    *
    * LWM2M path: /1024//61
    * @return string api call
    */
    InterfaceService.prototype.getCloudServiceName = function () {
        var callOptions = this.resources.getCloudServiceName;
        return this._call(callOptions);
    };
    /**
    * Get config format firmware version
    * Version du Firmware qui a écrit la conf. (écrit automatiquement lors de la conf par le Firmware, pas depuis le fichier de conf)
    * LWM2M path: /1024//18
    * @return number api call
    */
    InterfaceService.prototype.getConfigFormatFirmwareVersion = function () {
        var callOptions = this.resources.getConfigFormatFirmwareVersion;
        return this._call(callOptions);
    };
    /**
    * Get config format version
    *
    * LWM2M path: /1024//8
    * @return number api call
    */
    InterfaceService.prototype.getConfigFormatVersion = function () {
        var callOptions = this.resources.getConfigFormatVersion;
        return this._call(callOptions);
    };
    /**
    * Get config version
    *
    * LWM2M path: /1024//10
    * @return TapVersion api call
    */
    InterfaceService.prototype.getConfigVersion = function () {
        var callOptions = this.resources.getConfigVersion;
        return this._call(callOptions);
    };
    /**
    * Get current group id
    *
    * LWM2M path: /1024//7
    * @return number api call
    */
    InterfaceService.prototype.getCurrentGroupId = function () {
        var callOptions = this.resources.getCurrentGroupId;
        return this._call(callOptions);
    };
    /**
    * Get current host protocol
    *
    * LWM2M path: /1024//3
    * @return HostProtocol api call
    */
    InterfaceService.prototype.getCurrentHostProtocol = function () {
        var callOptions = this.resources.getCurrentHostProtocol;
        return this._call(callOptions);
    };
    /**
    * Get current profile id
    *
    * LWM2M path: /1024//2
    * @return number api call
    */
    InterfaceService.prototype.getCurrentProfileId = function () {
        var callOptions = this.resources.getCurrentProfileId;
        return this._call(callOptions);
    };
    /**
    * Get functions
    * Get functions
    * LWM2M path: /1024//20
    * @return AvailableFunction api call
    */
    InterfaceService.prototype.getFunctions = function () {
        var callOptions = this.resources.getFunctions;
        return this._call(callOptions);
    };
    /**
    * Get host inactivity period
    * Host inactivity period before switch to standby mode or shutdown depending on optimisation level (res /1024//14)
    * LWM2M path: /1024//34
    * @return number api call
    */
    InterfaceService.prototype.getHostInactivityPeriod = function () {
        var callOptions = this.resources.getHostInactivityPeriod;
        return this._call(callOptions);
    };
    /**
    * Get lock infos
    *
    * LWM2M path: /1024//6
    * @return InterfaceLock api call
    */
    InterfaceService.prototype.getLock = function () {
        var callOptions = this.resources.getLock;
        return this._call(callOptions);
    };
    /**
    * Get mqtt relay client id. Deprecated: use device serial number instead
    *
    * LWM2M path: /3//2
    * @deprecated
    * @return string api call
    */
    InterfaceService.prototype.getMqttRelayClientId = function () {
        var callOptions = this.resources.getMqttRelayClientId;
        return this._call(callOptions);
    };
    /**
    * Get mqtt relay login. Deprecated: use device serial number instead
    *
    * LWM2M path: /3//2
    * @deprecated
    * @return string api call
    */
    InterfaceService.prototype.getMqttRelayLogin = function () {
        var callOptions = this.resources.getMqttRelayLogin;
        return this._call(callOptions);
    };
    /**
    * Get the mqtt net key for the server
    *
    * LWM2M path: /1024//55
    * @return string api call
    */
    InterfaceService.prototype.getMqttRelayNetKey = function () {
        var callOptions = this.resources.getMqttRelayNetKey;
        return this._call(callOptions);
    };
    /**
    * Get the mqtt relay password
    * Mot de passe connexion au broker
    * LWM2M path: /1024//54
    * @return string api call
    */
    InterfaceService.prototype.getMqttRelayPassword = function () {
        var callOptions = this.resources.getMqttRelayPassword;
        return this._call(callOptions);
    };
    /**
    * Get port of the mqtt broker
    *
    * LWM2M path: /1024//51
    * @return string api call
    */
    InterfaceService.prototype.getMqttRelayPort = function () {
        var callOptions = this.resources.getMqttRelayPort;
        return this._call(callOptions);
    };
    /**
    * Get mqtt relay url
    *
    * LWM2M path: /1024//50
    * @return string api call
    */
    InterfaceService.prototype.getMqttRelayUrl = function () {
        var callOptions = this.resources.getMqttRelayUrl;
        return this._call(callOptions);
    };
    /**
    * Get iotize gateway ip on the network
    * Adresse IP : ex 192.168.1.1. Seulement pour les IoTize Wifi. (vraiment ?)
    * LWM2M path: /1024//31
    * @return string api call
    */
    InterfaceService.prototype.getNetworkGatewayIp = function () {
        var callOptions = this.resources.getNetworkGatewayIp;
        return this._call(callOptions);
    };
    /**
    * Get IoTize device ip on the network
    * Adresse statique IP : ex 192.168.1.10. DHCP si adresse &#x3D; 0.0.0.0. Seulement pour les IoTize Wifi.
    * LWM2M path: /1024//30
    * @return string api call
    */
    InterfaceService.prototype.getNetworkInfraIp = function () {
        var callOptions = this.resources.getNetworkInfraIp;
        return this._call(callOptions);
    };
    /**
    * Get infrastructure ip mask
    * Mask IP : ex 255.255.255.0. Seulement pour les IoTize Wifi.
    * LWM2M path: /1024//32
    * @return string api call
    */
    InterfaceService.prototype.getNetworkInfraIpMask = function () {
        var callOptions = this.resources.getNetworkInfraIpMask;
        return this._call(callOptions);
    };
    /**
    * Get network mode
    *
    * LWM2M path: /1024//15
    * @return NetworkMode api call
    */
    InterfaceService.prototype.getNetworkMode = function () {
        var callOptions = this.resources.getNetworkMode;
        return this._call(callOptions);
    };
    /**
    * Check if nfc paring is mandatory
    *
    * LWM2M path: /1024//13
    * @return NfcPairingMode api call
    */
    InterfaceService.prototype.getNfcPairingMode = function () {
        var callOptions = this.resources.getNfcPairingMode;
        return this._call(callOptions);
    };
    /**
    * Get power optimization level
    *
    * LWM2M path: /1024//14
    * @return LowPowerOptimisationLevel api call
    */
    InterfaceService.prototype.getPowerOptimisationLevel = function () {
        var callOptions = this.resources.getPowerOptimisationLevel;
        return this._call(callOptions);
    };
    /**
    * Get the device open key
    * Password utilisé pour l&#39;enregistrement. Également défaut du MQTT Relay PWD
    * LWM2M path: /1024//60
    * @return string api call
    */
    InterfaceService.prototype.getPublicPassword = function () {
        var callOptions = this.resources.getPublicPassword;
        return this._call(callOptions);
    };
    /**
    * Generate a random number
    *
    * LWM2M path: /1024//49
    * @return Uint8Array api call
    */
    InterfaceService.prototype.getRand = function () {
        var callOptions = this.resources.getRand;
        return this._call(callOptions);
    };
    /**
    * Get bundle id that have the special feature. Si non définit, retourne 0x0
    *
    * LWM2M path: /1024//{featureId}

    * @tapVersion(">=1.23")
    *
    * @param featureId input
    * @return number api call
    */
    InterfaceService.prototype.getSpecialFeatureProfile = function (featureId) {
        var callOptions = this.resources.getSpecialFeatureProfile;
        callOptions.pathParameters = {
            "featureId": featureId,
        };
        return this._call(callOptions);
    };
    /**
    * Get configured universal link value
    * Utilisé par iOS pour trouver l&#39;app à lancer. Par défaut : http://www.iotize.com
    * LWM2M path: /1024//19
    * @return string api call
    */
    InterfaceService.prototype.getUniversalLink = function () {
        var callOptions = this.resources.getUniversalLink;
        return this._call(callOptions);
    };
    /**
    * Uploading period for the cloud
    * Minimum period between 2 data log uploads in milliseconds. If set to 0, data log upload is disabled
    * LWM2M path: /1024//33
    * @return number api call
    */
    InterfaceService.prototype.getUploadPeriod = function () {
        var callOptions = this.resources.getUploadPeriod;
        return this._call(callOptions);
    };
    /**
    * Get network key
    * Clé WAP / WEP pour connection réseau infrastructure &amp; P2P
    * LWM2M path: /1024//16
    * @return string api call
    */
    InterfaceService.prototype.getWepKey = function () {
        var callOptions = this.resources.getWepKey;
        return this._call(callOptions);
    };
    /**
    * Get wifi hostname
    * Hostname par exemple, à lire par NFC pour connection socket à un IoTize Wifi en mode infrastructure avec DHCP
    * LWM2M path: /1024//35
    * @return string api call
    */
    InterfaceService.prototype.getWifiHostname = function () {
        var callOptions = this.resources.getWifiHostname;
        return this._call(callOptions);
    };
    /**
    * Get wifi ssid
    * May be null if not connected to any network
    * LWM2M path: /1024//25
    * @return string api call
    */
    InterfaceService.prototype.getWifiSSID = function () {
        var callOptions = this.resources.getWifiSSID;
        return this._call(callOptions);
    };
    /**
    * Keep alive.
    * Call this method to ensure communication resources are maintain.
    * LWM2M path: /1024//4
    * @return number api call
    */
    InterfaceService.prototype.keepAlive = function () {
        var callOptions = this.resources.keepAlive;
        return this._call(callOptions);
    };
    /**
    * Login
    * User login with username and password
    * LWM2M path: /1024//0
    * Body converter id: "LoginCredential"

    * @tapVersion(">=1.0")
    *
    * @param credential input
    * @return void api call
    */
    InterfaceService.prototype.login = function (credential) {
        var callOptions = this.resources.login;
        callOptions.body = credential;
        callOptions.pathParameters = {};
        return this._call(callOptions);
    };
    /**
    * Login
    * User login with username and password hash
    * LWM2M path: /1024//0
    * Body converter id: "LoginCredentialHashed"

    * @tapVersion(">=1.0")
    *
    * @param credential input
    * @return void api call
    */
    InterfaceService.prototype.loginWithHash = function (credential) {
        var callOptions = this.resources.loginWithHash;
        callOptions.body = credential;
        callOptions.pathParameters = {};
        return this._call(callOptions);
    };
    /**
    * Admnistration login
    * Log in as an administrator thanks to the UID
    * LWM2M path: /1024//5
    * Body converter id: "Bytes"

    * @tapVersion(">=1.0")
    *
    * @param uid input
    * @return void api call
    */
    InterfaceService.prototype.loginWithUID = function (uid) {
        var callOptions = this.resources.loginWithUID;
        callOptions.body = uid;
        callOptions.pathParameters = {};
        return this._call(callOptions);
    };
    /**
    * Logout
    *
    * LWM2M path: /1024//1
    * @return void api call
    */
    InterfaceService.prototype.logout = function () {
        var callOptions = this.resources.logout;
        return this._call(callOptions);
    };
    /**
    * Execute multiple commands sent in one frame, and return all answers in one
    *
    * LWM2M path: /1024//89
    * Body converter id: "MultiRequest"

    * @tapVersion(">=1.13")
    *
    * @param data input
    * @return MultiResponse api call
    */
    InterfaceService.prototype.multiRequest = function (data) {
        var callOptions = this.resources.multiRequest;
        callOptions.body = data;
        callOptions.pathParameters = {};
        return this._call(callOptions);
    };
    /**
    * Set application name
    *
    * LWM2M path: /1024//9
    * Body converter id: "string"

    * @tapVersion(">=1.0")
    *
    * @param appName input
    * @return void api call
    */
    InterfaceService.prototype.putAppName = function (appName) {
        var callOptions = this.resources.putAppName;
        callOptions.body = appName;
        callOptions.pathParameters = {};
        return this._call(callOptions);
    };
    /**
    * Set app path
    *
    * LWM2M path: /1024//11
    * Body converter id: "string"

    * @tapVersion(">=1.0")
    *
    * @param value input
    * @return void api call
    */
    InterfaceService.prototype.putAppPath = function (value) {
        var callOptions = this.resources.putAppPath;
        callOptions.body = value;
        callOptions.pathParameters = {};
        return this._call(callOptions);
    };
    /**
    * Write application parameters
    *
    * LWM2M path: /1024//36
    * Body converter id: "Bytes"

    * @tapVersion(">=1.0")
    *
    * @param value input
    * @return void api call
    */
    InterfaceService.prototype.putApplicationParameters = function (value) {
        var callOptions = this.resources.putApplicationParameters;
        callOptions.body = value;
        callOptions.pathParameters = {};
        return this._call(callOptions);
    };
    /**
    * Write authorized host protocols
    *
    * LWM2M path: /1024//17
    * Body converter id: "Array&lt;HostProtocol&gt;"

    * @tapVersion(">=1.0")
    *
    * @param mode input
    * @return void api call
    */
    InterfaceService.prototype.putAuthorizedHostProtocol = function (mode) {
        var callOptions = this.resources.putAuthorizedHostProtocol;
        callOptions.body = mode;
        callOptions.pathParameters = {};
        return this._call(callOptions);
    };
    /**
    * Write cloud client id
    *
    * LWM2M path: /1024//27
    * Body converter id: "string"

    * @tapVersion(">=1.0")
    *
    * @param value input
    * @return void api call
    */
    InterfaceService.prototype.putCloudClientId = function (value) {
        var callOptions = this.resources.putCloudClientId;
        callOptions.body = value;
        callOptions.pathParameters = {};
        return this._call(callOptions);
    };
    /**
    * Write cloud connection mode
    *
    * LWM2M path: /1024//26
    * Body converter id: "CloudConnectionMode"

    * @tapVersion(">=1.0")
    *
    * @param key input
    * @return void api call
    */
    InterfaceService.prototype.putCloudConnectionMode = function (key) {
        var callOptions = this.resources.putCloudConnectionMode;
        callOptions.body = key;
        callOptions.pathParameters = {};
        return this._call(callOptions);
    };
    /**
    * Write cloud gateway url
    *
    * LWM2M path: /1024//12
    * Body converter id: "string"

    * @tapVersion(">=1.0")
    *
    * @param url input
    * @return void api call
    */
    InterfaceService.prototype.putCloudGatewayUrl = function (url) {
        var callOptions = this.resources.putCloudGatewayUrl;
        callOptions.body = url;
        callOptions.pathParameters = {};
        return this._call(callOptions);
    };
    /**
    * Write cloud login id
    *
    * LWM2M path: /1024//28
    * Body converter id: "string"

    * @tapVersion(">=1.0")
    *
    * @param key input
    * @return void api call
    */
    InterfaceService.prototype.putCloudLogin = function (key) {
        var callOptions = this.resources.putCloudLogin;
        callOptions.body = key;
        callOptions.pathParameters = {};
        return this._call(callOptions);
    };
    /**
    * Write cloud password
    *
    * LWM2M path: /1024//29
    * Body converter id: "string"

    * @tapVersion(">=1.0")
    *
    * @param key input
    * @return void api call
    */
    InterfaceService.prototype.putCloudPassword = function (key) {
        var callOptions = this.resources.putCloudPassword;
        callOptions.body = key;
        callOptions.pathParameters = {};
        return this._call(callOptions);
    };
    /**
    * Write cloud service name
    *
    * LWM2M path: /1024//61
    * Body converter id: "string"

    * @tapVersion(">=1.0")
    *
    * @param name input
    * @return void api call
    */
    InterfaceService.prototype.putCloudServiceName = function (name) {
        var callOptions = this.resources.putCloudServiceName;
        callOptions.body = name;
        callOptions.pathParameters = {};
        return this._call(callOptions);
    };
    /**
    * Set config format version
    *
    * LWM2M path: /1024//8
    * Body converter id: "integer_uint16"

    * @tapVersion(">=1.0")
    *
    * @param configFormat input
    * @return void api call
    */
    InterfaceService.prototype.putConfigFormatVersion = function (configFormat) {
        var callOptions = this.resources.putConfigFormatVersion;
        callOptions.body = configFormat;
        callOptions.pathParameters = {};
        return this._call(callOptions);
    };
    /**
    * Set config version
    *
    * LWM2M path: /1024//10
    * Body converter id: "integer_uint32"

    * @tapVersion(">=1.0")
    *
    * @param version input
    * @return void api call
    */
    InterfaceService.prototype.putConfigVersion = function (version) {
        var callOptions = this.resources.putConfigVersion;
        callOptions.body = version;
        callOptions.pathParameters = {};
        return this._call(callOptions);
    };
    /**
    * Write current host protocol
    *
    * LWM2M path: /1024//3
    * Body converter id: "HostProtocol"

    * @tapVersion(">=1.0")
    *
    * @param hostProtocol input
    * @return void api call
    */
    InterfaceService.prototype.putCurrentHostProtocol = function (hostProtocol) {
        var callOptions = this.resources.putCurrentHostProtocol;
        callOptions.body = hostProtocol;
        callOptions.pathParameters = {};
        return this._call(callOptions);
    };
    /**
    * Write host inactivity period
    *
    * LWM2M path: /1024//34
    * Body converter id: "integer_uint16"

    * @tapVersion(">=1.0")
    *
    * @param key input
    * @return void api call
    */
    InterfaceService.prototype.putHostInactivityPeriod = function (key) {
        var callOptions = this.resources.putHostInactivityPeriod;
        callOptions.body = key;
        callOptions.pathParameters = {};
        return this._call(callOptions);
    };
    /**
    * Set lock infos
    *
    * LWM2M path: /1024//6
    * Body converter id: "InterfaceLock"

    * @tapVersion(">=1.0")
    *
    * @param infos input
    * @return void api call
    */
    InterfaceService.prototype.putLock = function (infos) {
        var callOptions = this.resources.putLock;
        callOptions.body = infos;
        callOptions.pathParameters = {};
        return this._call(callOptions);
    };
    /**
    * Write mqtt net key
    *
    * LWM2M path: /1024//55
    * Body converter id: "string"

    * @tapVersion(">=1.0")
    *
    * @param netkey input
    * @return void api call
    */
    InterfaceService.prototype.putMqttRelayNetKey = function (netkey) {
        var callOptions = this.resources.putMqttRelayNetKey;
        callOptions.body = netkey;
        callOptions.pathParameters = {};
        return this._call(callOptions);
    };
    /**
    * Write mqtt relay password
    *
    * LWM2M path: /1024//54
    * Body converter id: "string"

    * @tapVersion(">=1.0")
    *
    * @param url input
    * @return void api call
    */
    InterfaceService.prototype.putMqttRelayPassword = function (url) {
        var callOptions = this.resources.putMqttRelayPassword;
        callOptions.body = url;
        callOptions.pathParameters = {};
        return this._call(callOptions);
    };
    /**
    * Write service name of the mqtt broker
    *
    * LWM2M path: /1024//51
    * Body converter id: "string"

    * @tapVersion(">=1.0")
    *
    * @param url input
    * @return void api call
    */
    InterfaceService.prototype.putMqttRelayPort = function (url) {
        var callOptions = this.resources.putMqttRelayPort;
        callOptions.body = url;
        callOptions.pathParameters = {};
        return this._call(callOptions);
    };
    /**
    * Write mqtt relay url
    *
    * LWM2M path: /1024//50
    * Body converter id: "string"

    * @tapVersion(">=1.0")
    *
    * @param url input
    * @return void api call
    */
    InterfaceService.prototype.putMqttRelayUrl = function (url) {
        var callOptions = this.resources.putMqttRelayUrl;
        callOptions.body = url;
        callOptions.pathParameters = {};
        return this._call(callOptions);
    };
    /**
    * Write iotize gateway ip
    *
    * LWM2M path: /1024//31
    * Body converter id: "string_ipv4"

    * @tapVersion(">=1.0")
    *
    * @param key input
    * @return void api call
    */
    InterfaceService.prototype.putNetworkGatewayIp = function (key) {
        var callOptions = this.resources.putNetworkGatewayIp;
        callOptions.body = key;
        callOptions.pathParameters = {};
        return this._call(callOptions);
    };
    /**
    * Write infrastructure ip
    *
    * LWM2M path: /1024//30
    * Body converter id: "string_ipv4"

    * @tapVersion(">=1.0")
    *
    * @param key input
    * @return void api call
    */
    InterfaceService.prototype.putNetworkInfraIp = function (key) {
        var callOptions = this.resources.putNetworkInfraIp;
        callOptions.body = key;
        callOptions.pathParameters = {};
        return this._call(callOptions);
    };
    /**
    * Write infrastructure ip mask
    *
    * LWM2M path: /1024//32
    * Body converter id: "string_ipv4mask"

    * @tapVersion(">=1.0")
    *
    * @param key input
    * @return void api call
    */
    InterfaceService.prototype.putNetworkInfraIpMask = function (key) {
        var callOptions = this.resources.putNetworkInfraIpMask;
        callOptions.body = key;
        callOptions.pathParameters = {};
        return this._call(callOptions);
    };
    /**
    * Write network mode
    *
    * LWM2M path: /1024//15
    * Body converter id: "NetworkMode"

    * @tapVersion(">=1.0")
    *
    * @param mode input
    * @return void api call
    */
    InterfaceService.prototype.putNetworkMode = function (mode) {
        var callOptions = this.resources.putNetworkMode;
        callOptions.body = mode;
        callOptions.pathParameters = {};
        return this._call(callOptions);
    };
    /**
    * Change wether if nfc pairing is mandatory
    *
    * LWM2M path: /1024//13
    * Body converter id: "NfcPairingMode"

    * @tapVersion(">=1.0")
    *
    * @param mode input
    * @return void api call
    */
    InterfaceService.prototype.putNfcPairingMode = function (mode) {
        var callOptions = this.resources.putNfcPairingMode;
        callOptions.body = mode;
        callOptions.pathParameters = {};
        return this._call(callOptions);
    };
    /**
    * Write power optimization level
    *
    * LWM2M path: /1024//14
    * Body converter id: "LowPowerOptimisationLevel"

    * @tapVersion(">=1.0")
    *
    * @param mode input
    * @return void api call
    */
    InterfaceService.prototype.putPowerOptimisationLevel = function (mode) {
        var callOptions = this.resources.putPowerOptimisationLevel;
        callOptions.body = mode;
        callOptions.pathParameters = {};
        return this._call(callOptions);
    };
    /**
    * Write bundle id that own the special feature
    *
    * LWM2M path: /1024//{featureId}
    * Body converter id: "integer_uint16"

    * @tapVersion(">=1.23")
    *
    * @param featureId input

    * @tapVersion(">=1.23")
    *
    * @param value input
    * @return void api call
    */
    InterfaceService.prototype.putSpecialFeatureProfile = function (featureId, value) {
        var callOptions = this.resources.putSpecialFeatureProfile;
        callOptions.body = value;
        callOptions.pathParameters = {
            "featureId": featureId,
        };
        return this._call(callOptions);
    };
    /**
    * Write universal link value
    *
    * LWM2M path: /1024//19
    * Body converter id: "string"

    * @tapVersion(">=1.0")
    *
    * @param url input
    * @return void api call
    */
    InterfaceService.prototype.putUniversalLink = function (url) {
        var callOptions = this.resources.putUniversalLink;
        callOptions.body = url;
        callOptions.pathParameters = {};
        return this._call(callOptions);
    };
    /**
    * Write cloud mqtt period
    *
    * LWM2M path: /1024//33
    * Body converter id: "integer_uint32"

    * @tapVersion(">=1.0")
    *
    * @param key input
    * @return void api call
    */
    InterfaceService.prototype.putUploadPeriod = function (key) {
        var callOptions = this.resources.putUploadPeriod;
        callOptions.body = key;
        callOptions.pathParameters = {};
        return this._call(callOptions);
    };
    /**
    * Write network key
    *
    * LWM2M path: /1024//16
    * Body converter id: "string"

    * @tapVersion(">=1.0")
    *
    * @param key input
    * @return void api call
    */
    InterfaceService.prototype.putWepKey = function (key) {
        var callOptions = this.resources.putWepKey;
        callOptions.body = key;
        callOptions.pathParameters = {};
        return this._call(callOptions);
    };
    /**
    * Write wifi ssid
    *
    * LWM2M path: /1024//25
    * Body converter id: "string"

    * @tapVersion(">=1.0")
    *
    * @param key input
    * @return void api call
    */
    InterfaceService.prototype.putWifiSSID = function (key) {
        var callOptions = this.resources.putWifiSSID;
        callOptions.body = key;
        callOptions.pathParameters = {};
        return this._call(callOptions);
    };
    /**
    * Apply the new configuration on the device
    *
    * LWM2M path: /1024//10
    * @return void api call
    */
    InterfaceService.prototype.reloadConfig = function () {
        var callOptions = this.resources.reloadConfig;
        return this._call(callOptions);
    };
    /**
    * Set bundle id that own the special feature
    *
    * LWM2M path: /1024//{featureId}
    * Body converter id: "integer_uint16"

    * @tapVersion(">=1.23")
    *
    * @param featureId input

    * @tapVersion(">=1.23")
    *
    * @param value input
    * @return void api call
    */
    InterfaceService.prototype.setSpecialFeatureProfile = function (featureId, value) {
        var callOptions = this.resources.setSpecialFeatureProfile;
        callOptions.body = value;
        callOptions.pathParameters = {
            "featureId": featureId,
        };
        return this._call(callOptions);
    };
    return InterfaceService;
}(abstract_service_1.AbstractService));
exports.InterfaceService = InterfaceService;
