aes70
Version:
A controller library for the AES70 protocol.
90 lines (84 loc) • 3.76 kB
TypeScript
import {
IOcaCounterNotifierFilterParameters,
OcaCounterNotifierFilterParameters,
} from '../../types/OcaCounterNotifierFilterParameters.js';
import { OcaCounterUpdate } from '../../types/OcaCounterUpdate.js';
import { Event } from '../event.js';
import { PropertyEvent } from '../property_event.js';
import { RemoteDevice } from '../remote_device.js';
import { OcaAgent } from './OcaAgent.js';
/**
* **Notifier** for an OCA counter. Observes the value of the counter and emits
* a **CounterUpdate** notification when specified criteria are met. An OCA
* counter wishing to notify controllers of its changing value can designate one
* or more notifier objects to which the controllers may subscribe. See the
* definition of the **OcaCounter** datatype for additional detail. Notification
* criteria are as follows:
*
* - **Threshold**. The counter value meets a certain comparison condition. A
* selection of comparison operators is available. The **Operator** property
* is the comparison operator to use for **Threshold.**
*
* - **Period**. The value of the** Period** parameter, if nonzero, is a the
* time interval for the recurrent timed emission of **CounterUpdate**
* events. Such events are emitted regardless of the counter's value.
*
* - **CountIncrement.** An **CounterUpdate** event is emitted every time the
* counter value changes by an amount equal to or greater than the value of
* this parameter.
*
*
* ** **For combinations of (1), (2), and (3), the criteria are applied as
* follows: if (1) is specified and not satisfied, then no observation is
* emitted. else if (2) is specified and satisfied or (3) is specified and
* satisfied, then an observation is emitted. end end Regardless of filter
* parameter values, a notification is always emitted when a counter is
* explicitly reset using a **Reset()** method. An **OcaCounterNotifier**
* instance and the counter it observes are bound at the time the
* **OcaCounterNotifier** instance is constructed. For static devices,
* construction will occur during manufacture, or possibly during a subsequent
* hardware configuration step. For reconfigurable devices, construction might
* be done by online controllers as part of device configuration activity.
* @extends OcaAgent
* @class OcaCounterNotifier
*/
export declare class OcaCounterNotifier extends OcaAgent {
/**
* Event raised when filter conditions are met.
* @member OcaCounterNotifier#OnCounterUpdate {Event}
*/
OnCounterUpdate: Event;
/**
* This event is emitted whenever FilterParameters changes.
*/
OnFilterParametersChanged: PropertyEvent<OcaCounterNotifierFilterParameters>;
constructor(objectNumber: number, device: RemoteDevice);
/**
* Returns the payload of the most recent **CounterUpdate** event emitted by
* this object.
*
* @method OcaCounterNotifier#GetLastUpdate
* @returns {Promise<OcaCounterUpdate[]>}
* A promise which resolves to a single value of type :class:`OcaCounterUpdate[]`.
*/
GetLastUpdate(): Promise<OcaCounterUpdate[]>;
/**
* Returns this notifier's set of filter parameters.
*
* @method OcaCounterNotifier#GetFilterParameters
* @returns {Promise<OcaCounterNotifierFilterParameters>}
* A promise which resolves to a single value of type :class:`OcaCounterNotifierFilterParameters`.
*/
GetFilterParameters(): Promise<OcaCounterNotifierFilterParameters>;
/**
* Sets this notifier's set of filter parameters.
*
* @method OcaCounterNotifier#SetFilterParameters
* @param {IOcaCounterNotifierFilterParameters} Parameters
*
* @returns {Promise<void>}
*/
SetFilterParameters(
Parameters: IOcaCounterNotifierFilterParameters
): Promise<void>;
}