aes70
Version:
A controller library for the AES70 protocol.
195 lines (176 loc) • 7.02 kB
TypeScript
import {
IOcaNetworkMediaSourceOrSink,
OcaNetworkMediaSourceOrSink,
} from '../../types/OcaNetworkMediaSourceOrSink';
import { IOcaStream, OcaStream } from '../../types/OcaStream';
import { OcaStreamConnectorStatus } from '../../types/OcaStreamConnectorStatus';
import { PropertyEvent } from '../property_event';
import { RemoteDevice } from '../remote_device';
import { OcaAgent } from './OcaAgent';
/**
* **DEPRECATED CLASS** *Replaced by the* **OcaMediaSinkConnector ***and*
* **OcaMediaSourceConnector ***datatypes in version 3 of Connection Management
* (CM3)* Agent class for objects ("connectors") that allow connection of
* streams to the device. Streams may be single channels or multichannel groups.
* A connector is either a *source* or a *sink.* Sources are sometimes called
* "talkers". Sinks are sometimes called "listeners". Each connector links to
* zero or more **OcaStream** data objects. Each **OcaStream** object represents
* a signal flow to or from a local connector to a remote connector. The remote
* connector is usually, but not necessarily, in a different node. Each
* connector collects zero or more *signal channels*. A signal channel is an
* instance of **OcaNetworkSignalChannel.** Each signal channel exposes one
* media channel of the stream to the interior of the device. A signal channel
* therefore is a Worker that contains exactly one **OcaPort** data object. Each
* **OcaStreamConnector** object belongs to a particular instance of
* **OcaStreamNetwork** or a subclass of **OcaStreamNetwork** **.** Each
* **OcaStreamConnector** is linked to its network through the **Owner**
* property.
*
* - When a controller creates an **OcaStreamConnector** object dynamically,
* the controller must store the Object Number of the corresponding
* **OcaStreamNetwork** object in the **Owner** property.
*
* - Upon receiving the **Owner** property change, the **OcaStreamConnector**
* object must register itself with the given stream network object via some
* internal means.
*
*
* This class may be subclassed to support various network types. ** **
* @extends OcaAgent
* @class OcaStreamConnector
*/
export declare class OcaStreamConnector extends OcaAgent {
/**
* This event is emitted whenever OwnerNetwork changes.
*/
OnOwnerNetworkChanged: PropertyEvent<number>;
/**
* This event is emitted whenever IDAdvertised changes.
*/
OnIDAdvertisedChanged: PropertyEvent<Uint8Array>;
/**
* This event is emitted whenever SourceOrSink changes.
*/
OnSourceOrSinkChanged: PropertyEvent<OcaNetworkMediaSourceOrSink>;
/**
* This event is emitted whenever Streams changes.
*/
OnStreamsChanged: PropertyEvent<Map<number, OcaStream>>;
/**
* This event is emitted whenever Pins changes.
*/
OnPinsChanged: PropertyEvent<Map<number, number>>;
/**
* This event is emitted whenever Status changes.
*/
OnStatusChanged: PropertyEvent<OcaStreamConnectorStatus>;
constructor(objectNumber: number, device: RemoteDevice);
/**
* Gets the object number of the **OcaStreamNetwork** object to which this
* connector belongs. Return status indicates success of operation.
*
* @method OcaStreamConnector#GetOwnerNetwork
* @returns {Promise<number>}
* A promise which resolves to a single value of type ``number``.
*/
GetOwnerNetwork(): Promise<number>;
/**
* Sets the object number of the **OcaStreamNetwork** object to which this
* connector belongs. Return status indicates success of operation. Only
* implemented for reconfigurable devices.
*
* @method OcaStreamConnector#SetOwnerNetwork
* @param {number} Network
*
* @returns {Promise<void>}
*/
SetOwnerNetwork(Network: number): Promise<void>;
/**
* Gets the value of the IDAdvertised property. Return status indicates
* success of operation.
*
* @method OcaStreamConnector#GetIDAdvertised
* @returns {Promise<Uint8Array>}
* A promise which resolves to a single value of type ``Uint8Array``.
*/
GetIDAdvertised(): Promise<Uint8Array>;
/**
* Sets the value of the IDAdvertised property. Return status indicates
* success of operation.
*
* @method OcaStreamConnector#SetIDAdvertised
* @param {Uint8Array} IDAdvertised
*
* @returns {Promise<void>}
*/
SetIDAdvertised(IDAdvertised: Uint8Array): Promise<void>;
/**
* Gets the value of the SourceOrSink property. Return status indicates
* success of operation.
*
* @method OcaStreamConnector#GetSourceOrSink
* @returns {Promise<OcaNetworkMediaSourceOrSink>}
* A promise which resolves to a single value of type :class:`OcaNetworkMediaSourceOrSink`.
*/
GetSourceOrSink(): Promise<OcaNetworkMediaSourceOrSink>;
/**
* Sets the value of the SourceOrSink property. Return status indicates
* success of operation. Only implemented for reconfigurable devices. Note
* that this method can only be called when the SignalChannels property is
* empty, i.e. does not contain any actual channels.
*
* @method OcaStreamConnector#SetSourceOrSink
* @param {IOcaNetworkMediaSourceOrSink} SourceOrSink
*
* @returns {Promise<void>}
*/
SetSourceOrSink(SourceOrSink: IOcaNetworkMediaSourceOrSink): Promise<void>;
/**
* Connects a stream to this connector. Return status indicates success of
* operation.
*
* @method OcaStreamConnector#ConnectStream
* @param {IOcaStream} Stream
*
* @returns {Promise<number>}
* A promise which resolves to a single value of type ``number``.
*/
ConnectStream(Stream: IOcaStream): Promise<number>;
/**
* Disconnects a stream from this connector. Return status indicates success
* of operation.
*
* @method OcaStreamConnector#DisconnectStream
* @param {number} StreamID
*
* @returns {Promise<void>}
*/
DisconnectStream(StreamID: number): Promise<void>;
/**
* Gets the map of OcaStream items connected to this connector. Return status
* indicates success of operation.
*
* @method OcaStreamConnector#GetStreams
* @returns {Promise<Map<number, OcaStream>>}
* A promise which resolves to a single value of type ``Map<number, OcaStream>``.
*/
GetStreams(): Promise<Map<number, OcaStream>>;
/**
* Gets the list of object numbers of **OcaNetworkSignalChannel** objects
* connected to this connector. Return status indicates success of operation.
*
* @method OcaStreamConnector#GetPins
* @returns {Promise<Map<number, number>>}
* A promise which resolves to a single value of type ``Map<number, number>``.
*/
GetPins(): Promise<Map<number, number>>;
/**
* Gets the value of the Status property. Return status indicates success of
* operation.
*
* @method OcaStreamConnector#GetStatus
* @returns {Promise<OcaStreamConnectorStatus>}
* A promise which resolves to a single value of type :class:`OcaStreamConnectorStatus`.
*/
GetStatus(): Promise<OcaStreamConnectorStatus>;
}