示例#1
0
        /// <summary>
        /// Разрешить сигнализацию о событии без подтверждения о приеме.
        /// </summary>
        /// <param name="target">Адрес устройства.</param>
        /// <param name="id">Идентификатор события.</param>
        /// <param name="isEventEnabled"><c>true</c> - разрешить сигнализацию о событии, иначе - <c>false</c>.</param>
        public void EnableEventMonitoring(Address target, int id, bool isEventEnabled)
        {
            Contract.Requires(!IsDisposed);
            Contract.Requires(target != null);
            Contract.Requires(target.Type == AddressType.Hardware || target.Type == AddressType.Net);
            var msg = new NmsAlterEventConditionMonitoring(Address.Empty, target, id, isEventEnabled, false);

            OutgoingMessages.Post(msg);
        }
示例#2
0
        /// <summary>
        /// Разрешить сигнализацию о событии с подтверждением о приеме.
        /// </summary>
        /// <param name="target">Адрес устройства.</param>
        /// <param name="id">Идентификатор события.</param>
        /// <param name="isEventEnabled"><c>true</c> - разрешить сигнализацию о событии, иначе - <c>false</c>.</param>
        /// <param name="options">Параметры NiBUS-операции.</param>
        /// <returns><see cref="Task"/> - асинхронная операция.</returns>
        public async Task EnableEventMonitoringConfirmedAsync(
            Address target,
            int id,
            bool isEventEnabled,
            NibusOptions options = null)
        {
            Contract.Requires(!IsDisposed);
            Contract.Requires(target != null);
            Contract.Requires(target.Type == AddressType.Hardware || target.Type == AddressType.Net);
            var msg = new NmsAlterEventConditionMonitoring(Address.Empty, target, id, isEventEnabled);

            await WaitForNmsResponseAsync(msg, options);
        }