UNPKG

aes70

Version:

A controller library for the AES70 protocol.

154 lines (137 loc) 4.03 kB
import { IOcaJobQueueItem, OcaJobQueueItem, } from '../../types/OcaJobQueueItem.js'; import { OcaTaskSchedulerState } from '../../types/OcaTaskSchedulerState.js'; import { Event } from '../event.js'; import { PropertyEvent } from '../property_event.js'; import { RemoteDevice } from '../remote_device.js'; import { OcaAgent } from './OcaAgent.js'; /** * Optional scheduler for scheduling tasks to run programs and commandsets in * the future. * @extends OcaAgent * @class OcaTaskScheduler */ export declare class OcaTaskScheduler extends OcaAgent { /** * Event raised when a job queue item is removed from the queue, either * because it has fulfilled its purpose or because it has been explicitly * deleted by the **DeleteJob()** or **ClearJobQueue()** method. * @member OcaTaskScheduler#OnJobDisposed {Event} */ OnJobDisposed: Event; /** * This event is emitted whenever State changes. */ OnStateChanged: PropertyEvent<OcaTaskSchedulerState>; /** * This event is emitted whenever TaskAgents changes. */ OnTaskAgentsChanged: PropertyEvent<number[]>; /** * This event is emitted whenever JobQueue changes. */ OnJobQueueChanged: PropertyEvent<OcaJobQueueItem[]>; constructor(objectNumber: number, device: RemoteDevice); /** * Changes state to **Running.** * * @method OcaTaskScheduler#ActionStart * @returns {Promise<void>} */ ActionStart(): Promise<void>; /** * Changes state to **Stopped.** * * @method OcaTaskScheduler#ActionStop * @returns {Promise<void>} */ ActionStop(): Promise<void>; /** * Changes state to **Paused.** * * @method OcaTaskScheduler#ActionPause * @returns {Promise<void>} */ ActionPause(): Promise<void>; /** * Changes state to **Draining.** * * @method OcaTaskScheduler#ActionDrain * @returns {Promise<void>} */ ActionDrain(): Promise<void>; /** * Gets the scheduler's state. * * @method OcaTaskScheduler#GetState * @returns {Promise<OcaTaskSchedulerState>} * A promise which resolves to a single value of type :class:`OcaTaskSchedulerState`. */ GetState(): Promise<OcaTaskSchedulerState>; /** * Gets the list of all **OcaTaskAgent** ONos. * * @method OcaTaskScheduler#GetTaskAgents * @returns {Promise<number[]>} * A promise which resolves to a single value of type ``number[]``. */ GetTaskAgents(): Promise<number[]>; /** * Gets the job queue. * * @method OcaTaskScheduler#GetJobQueue * @returns {Promise<OcaJobQueueItem[]>} * A promise which resolves to a single value of type :class:`OcaJobQueueItem[]`. */ GetJobQueue(): Promise<OcaJobQueueItem[]>; /** * Gets a jobqueue item, given its ID. * * @method OcaTaskScheduler#GetJob * @param {number} ID * * @returns {Promise<OcaJobQueueItem>} * A promise which resolves to a single value of type :class:`OcaJobQueueItem`. */ GetJob(ID: number): Promise<OcaJobQueueItem>; /** * Replaces a job queue item, given its ID. If given ID references a * nonexistent job queue item, method shall return status value * **ParameterOutOfRange**. * * @method OcaTaskScheduler#SetJob * @param {number} ID * @param {IOcaJobQueueItem} Item * * @returns {Promise<void>} */ SetJob(ID: number, Item: IOcaJobQueueItem): Promise<void>; /** * Adds a job queue item, returns its ID. * * @method OcaTaskScheduler#AddJob * @param {IOcaJobQueueItem} Item * * @returns {Promise<number>} * A promise which resolves to a single value of type ``number``. */ AddJob(Item: IOcaJobQueueItem): Promise<number>; /** * Deletes a job queue item given its ID. * * @method OcaTaskScheduler#DeleteJob * @param {number} ID * * @returns {Promise<void>} */ DeleteJob(ID: number): Promise<void>; /** * Deletes all job queue items. * * @method OcaTaskScheduler#ClearJobQueue * @returns {Promise<void>} */ ClearJobQueue(): Promise<void>; }