Control ClassesΒΆ

Control classes are AES70 objects which can be controlled remotely by calling remote methods. The controller implementations in this library match the APIs specified for these classes in the AES70 standard. See http://docs.deuso.de/AES70-OCC/Control%20Classes.html for an online version of all control classes defined in AES70 and their APIs.

The implementation of remote method calls follows a simple schema. Input parameters defined in AES70 are passed as arguments. The return value is always a Promise which - if the call succeeds - resolves either to a single return value or an instance of Arguments() if the method has more than one output parameter. If the method call fails (i.e. the return status is not OK), the promises is rejected with an instance of RemoteError().

Events defined by control classes are implemented as properties of type Event(). The property will have the same name as the corresponding AES70 event prefixed by On. For example, the PropertyChanged event in OcaRoot() will result in an OnPropertyChanged property on the corresponding control class. For convenience, for each property defined by a control class, there exists a special event of type PropertyEvent() with the name On<NAME>Changed.