aes70
Version:
A controller library for the AES70 protocol.
141 lines (125 loc) • 3.77 kB
TypeScript
import { Event } from '../event.js';
import { PropertyEvent } from '../property_event.js';
import { RemoteDevice } from '../remote_device.js';
import { OcaAgent } from './OcaAgent.js';
/**
* Control aggregator. See **[AES70-1(Control Aggregation)]** for the normative
* specification of **OcaGroup** semantics.
* @extends OcaAgent
* @class OcaGroup
*/
export declare class OcaGroup extends OcaAgent {
/**
* Event that is emitted whenever a value-setting operation returns a status
* other than OK. NOTE. This is an ordinary event that causes a normal
* Notification message to be emitted. The OCP.1 protocol defines a special
* type of Notification PDU called **'Exception'**, but that PDU type is only
* used to signal cancellation of a subscription. This **GroupException**
* event uses the normal Notification PDU type, which is called **'Event'**.
* @member OcaGroup#OnGroupException {Event}
*/
OnGroupException: Event;
/**
* This event is emitted whenever Members changes.
*/
OnMembersChanged: PropertyEvent<number[]>;
/**
* This event is emitted whenever GroupControllerONo changes.
*/
OnGroupControllerONoChanged: PropertyEvent<number>;
/**
* This event is emitted whenever AggregationRule changes.
*/
OnAggregationRuleChanged: PropertyEvent<string>;
/**
* This event is emitted whenever SaturationRule changes.
*/
OnSaturationRuleChanged: PropertyEvent<string>;
constructor(objectNumber: number, device: RemoteDevice);
/**
* Gets the list of Group members.
*
* @method OcaGroup#GetMembers
* @returns {Promise<number[]>}
* A promise which resolves to a single value of type ``number[]``.
*/
GetMembers(): Promise<number[]>;
/**
* Sets the list of Group members.
*
* @method OcaGroup#SetMembers
* @param {number[]} Members
*
* @returns {Promise<void>}
*/
SetMembers(Members: number[]): Promise<void>;
/**
* Adds a Member to the Group.
*
* @method OcaGroup#AddMember
* @param {number} Member
*
* @returns {Promise<void>}
*/
AddMember(Member: number): Promise<void>;
/**
* Removes a Member from the Group.
*
* @method OcaGroup#RemoveMember
* @param {number} Member
*
* @returns {Promise<void>}
*/
RemoveMember(Member: number): Promise<void>;
/**
* Gets the Group Controller object number.
*
* @method OcaGroup#GetGroupControllerONo
* @returns {Promise<number>}
* A promise which resolves to a single value of type ``number``.
*/
GetGroupControllerONo(): Promise<number>;
/**
* Sets the Group Controller object number.
*
* @method OcaGroup#SetGroupControllerONo
* @param {number} ONo
*
* @returns {Promise<void>}
*/
SetGroupControllerONo(ONo: number): Promise<void>;
/**
* Gets the value of the **AggregationRule** property.
*
* @method OcaGroup#GetAggregationRule
* @returns {Promise<string>}
* A promise which resolves to a single value of type ``string``.
*/
GetAggregationRule(): Promise<string>;
/**
* Sets the value of the **AggregationRule** property.
*
* @method OcaGroup#SetAggregationRule
* @param {string} Rule
*
* @returns {Promise<void>}
*/
SetAggregationRule(Rule: string): Promise<void>;
/**
* Gets the value of the **SaturationRule** property.
*
* @method OcaGroup#GetSaturationRule
* @returns {Promise<string>}
* A promise which resolves to a single value of type ``string``.
*/
GetSaturationRule(): Promise<string>;
/**
* Sets the value of the **SaturationRule** property.
*
* @method OcaGroup#SetSaturationRule
* @param {string} Rule
*
* @returns {Promise<void>}
*/
SetSaturationRule(Rule: string): Promise<void>;
}