aes70
Version:
A controller library for the AES70 protocol.
45 lines (41 loc) • 1.32 kB
TypeScript
import { IOcaLockState } from '../../types/OcaLockState.js';
import { RemoteDevice } from '../remote_device.js';
import { OcaManager } from './OcaManager.js';
/**
* Optional object and device lock manager that supports mutex-type waits for
* locking things without causing race conditions.
*
* - May be instantiated at most once in any device.
*
* - If instantiated, object number must be 14 (decimal).
*
*
* @extends OcaManager
* @class OcaLockManager
*/
export declare class OcaLockManager extends OcaManager {
constructor(objectNumber: number, device: RemoteDevice);
/**
* Lock an object. returns when lock is set or timeout expires or
* **AbortWaits(...)** is called. A timeout value of zero requests an
* indefinite wait with no timeout.. Note: To lock an entire device, lock its
* Device Manager (ONo 1).
*
* @method OcaLockManager#LockWait
* @param {number} target
* @param {IOcaLockState} type
* @param {number} timeout
*
* @returns {Promise<void>}
*/
LockWait(target: number, type: IOcaLockState, timeout: number): Promise<void>;
/**
* Aborts all of this session's waits on the given object.
*
* @method OcaLockManager#AbortWaits
* @param {number} ONo
*
* @returns {Promise<void>}
*/
AbortWaits(ONo: number): Promise<void>;
}