APIs

Show:
"use strict";
/**
 * @module opcua.address_space.AlarmsAndConditions
 */
const util = require("util");
const UASystemOffNormalAlarm = require("./off_normal_alarm").UAOffNormalAlarm;
const DataType = require("node-opcua-variant").DataType;

/**
 *
 * This SystemOffNormalAlarmType is raised by the Server when the Server’s Certificate is within the ExpirationLimit
 * of expiration. This alarm automatically returns to normal when the certificate is updated.
 *
 * @class UACertificateExpirationAlarm
 * @extends UASystemOffNormalAlarm
 * @constructor
 */
function UACertificateExpirationAlarm() {

    /**
     * @property expirationDate
     * @type UAVariableT
     * ExpirationDate is the date and time this certificate will expire.
     */
    // HasProperty Variable ExpirationDate  DateTime   PropertyType Mandatory


    // ExpirationLimit is the time interval before the ExpirationDate at which this alarm will trigger.
    //  This shall be a positive number. If the property is not provided, a default of 2 weeks shall be used.
    // HasProperty Variable ExpirationLimit Duration   PropertyType Optional


    // CertificateType – See Part 12 for definition of CertificateType.
    // HasProperty Variable CertificateType NodeId     PropertyType Mandatory

    //  Certificate is the certificate that is about to expire.
    // HasProperty Variable Certificate     ByteString PropertyType Mandatory

}
util.inherits(UACertificateExpirationAlarm, UASystemOffNormalAlarm);

UACertificateExpirationAlarm.prototype.getExpirationDate = function()
{
    return this.expirationDate.readValue().value.value;
};
UACertificateExpirationAlarm.prototype.getExpirationDate = function(value)
{
    return this.expirationDate.setValueFromSource({dataType: DataType.DateTime, value: value});
};