aes70 1.6.2 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/COPYING +7 -7
- package/Changelog +9 -0
- package/README.md +74 -42
- package/dist/AES70.es5.js +23882 -5157
- package/package.json +3 -3
- package/src/OCP1/Arguments.js +3 -0
- package/src/OCP1/Enum.js +8 -0
- package/src/OCP1/OcaActionObjectSearchResult.js +20 -0
- package/src/OCP1/OcaActionObjectSearchResultFlags.js +3 -0
- package/src/OCP1/OcaArray1D.js +108 -0
- package/src/OCP1/OcaBitstring.js +3 -0
- package/src/OCP1/OcaBlob.js +2 -43
- package/src/OCP1/OcaBlobFixedLen.js +8 -0
- package/src/OCP1/OcaBlockConfigurability.js +3 -0
- package/src/OCP1/OcaBoolean.js +3 -0
- package/src/OCP1/OcaCommand.js +17 -0
- package/src/OCP1/OcaCommandResult.js +17 -0
- package/src/OCP1/OcaCommandSetResult.js +17 -0
- package/src/OCP1/OcaConstructionParameter.js +16 -0
- package/src/OCP1/OcaCounter.js +22 -0
- package/src/OCP1/OcaCounterNotifierFilterParameters.js +19 -0
- package/src/OCP1/OcaCounterSet.js +17 -0
- package/src/OCP1/OcaCounterUpdate.js +18 -0
- package/src/OCP1/OcaCounterUpdateEventData.js +15 -0
- package/src/OCP1/OcaDatasetSearchResult.js +17 -0
- package/src/OCP1/OcaDeviceGenericState.js +4 -0
- package/src/OCP1/OcaDeviceOperationalState.js +16 -0
- package/src/OCP1/OcaExecutableType.js +4 -0
- package/src/OCP1/OcaFloat32.js +3 -0
- package/src/OCP1/OcaFloat64.js +3 -0
- package/src/OCP1/OcaGenericEndState.js +4 -0
- package/src/OCP1/OcaGlobalTypeIdentifier.js +1 -1
- package/src/OCP1/OcaGroupException.js +18 -0
- package/src/OCP1/OcaIODirection.js +4 -0
- package/src/OCP1/OcaIP4AutoconfigMode.js +4 -0
- package/src/OCP1/OcaIP4Gateway.js +17 -0
- package/src/OCP1/OcaIP4NetworkSettings.js +23 -0
- package/src/OCP1/OcaIP6AutoconfigMode.js +4 -0
- package/src/OCP1/OcaIP6Gateway.js +17 -0
- package/src/OCP1/OcaIP6NetworkSettings.js +24 -0
- package/src/OCP1/OcaInt16.js +3 -0
- package/src/OCP1/OcaInt32.js +3 -0
- package/src/OCP1/OcaInt64.js +3 -0
- package/src/OCP1/OcaInt8.js +3 -0
- package/src/OCP1/OcaInterval.js +18 -0
- package/src/OCP1/OcaIntervalBounds.js +3 -0
- package/src/OCP1/OcaJobDisposedEventData.js +18 -0
- package/src/OCP1/OcaJobDisposition.js +4 -0
- package/src/OCP1/OcaJobQueueItem.js +24 -0
- package/src/OCP1/OcaList.js +2 -127
- package/src/OCP1/OcaList2D.js +6 -0
- package/src/OCP1/OcaList32.js +3 -0
- package/src/OCP1/OcaLockState.js +4 -0
- package/src/OCP1/OcaLogFilter.js +20 -0
- package/src/OCP1/OcaLogRecord.js +21 -0
- package/src/OCP1/OcaLongBlob.js +3 -0
- package/src/OCP1/OcaManufacturer.js +19 -0
- package/src/OCP1/OcaMap.js +3 -0
- package/src/OCP1/OcaMatrixCommand.js +19 -0
- package/src/OCP1/OcaMatrixCoordinates.js +15 -0
- package/src/OCP1/OcaMediaAccessMode.js +4 -0
- package/src/OCP1/OcaMediaFrameFormat.js +4 -0
- package/src/OCP1/OcaMediaPlayOption.js +4 -0
- package/src/OCP1/OcaMediaRecorderPlayerState.js +4 -0
- package/src/OCP1/OcaMediaStreamEndpoint.js +40 -0
- package/src/OCP1/OcaMediaStreamEndpointCommand.js +4 -0
- package/src/OCP1/OcaMediaStreamEndpointState.js +4 -0
- package/src/OCP1/OcaMediaStreamEndpointStatus.js +16 -0
- package/src/OCP1/OcaMediaStreamMode.js +21 -0
- package/src/OCP1/OcaMediaStreamModeCapability.js +29 -0
- package/src/OCP1/OcaMediaStreamModeCapabilityDirection.js +3 -0
- package/src/OCP1/OcaMediaTrackFunction.js +3 -0
- package/src/OCP1/OcaMediaTransportSession.js +30 -0
- package/src/OCP1/OcaMediaTransportSessionConnection.js +17 -0
- package/src/OCP1/OcaMediaTransportSessionConnectionState.js +15 -0
- package/src/OCP1/OcaMediaTransportSessionState.js +4 -0
- package/src/OCP1/OcaMediaTransportSessionStatus.js +16 -0
- package/src/OCP1/OcaMediaTransportTimingParameters.js +16 -0
- package/src/OCP1/OcaMediaVolumePosition.js +16 -0
- package/src/OCP1/OcaMediaVolumePositionType.js +4 -0
- package/src/OCP1/OcaMultiMap.js +3 -0
- package/src/OCP1/OcaNetworkAdvertisingMechanism.js +16 -0
- package/src/OCP1/OcaNetworkAdvertisingService.js +4 -0
- package/src/OCP1/OcaNetworkInterfaceAssignment.js +23 -0
- package/src/OCP1/OcaNetworkInterfaceCommand.js +4 -0
- package/src/OCP1/OcaNetworkInterfaceState.js +4 -0
- package/src/OCP1/OcaNetworkInterfaceStatus.js +16 -0
- package/src/OCP1/OcaObjectSearchResult.js +2 -18
- package/src/OCP1/OcaObjectSearchResultFlags.js +5 -3
- package/src/OCP1/OcaPort.js +1 -1
- package/src/OCP1/OcaPortClockMapEntry.js +16 -0
- package/src/OCP1/OcaPortID.js +2 -2
- package/src/OCP1/OcaPortIdentification.js +16 -0
- package/src/OCP1/OcaPortMode.js +5 -4
- package/src/OCP1/OcaPositionDescriptor.js +2 -2
- package/src/OCP1/OcaProduct.js +19 -0
- package/src/OCP1/OcaProgramResult.js +17 -0
- package/src/OCP1/OcaProgramRunMode.js +3 -0
- package/src/OCP1/OcaProtoPort.js +2 -2
- package/src/OCP1/OcaProtoPortClockMapEntry.js +17 -0
- package/src/OCP1/OcaProtoSignalPath.js +2 -2
- package/src/OCP1/OcaSamplingRateConverterType.js +4 -0
- package/src/OCP1/OcaSecurityType.js +4 -0
- package/src/OCP1/OcaSignalPath.js +2 -2
- package/src/OCP1/OcaString.js +3 -0
- package/src/OCP1/OcaTask.js +4 -3
- package/src/OCP1/OcaTaskExecutionTerminatedEventData.js +20 -0
- package/src/OCP1/OcaTaskGenericState.js +4 -0
- package/src/OCP1/OcaTaskOperationalState.js +17 -0
- package/src/OCP1/OcaTaskSchedulerState.js +4 -0
- package/src/OCP1/OcaTaskStatusChangedEventData.js +18 -0
- package/src/OCP1/OcaTime.js +18 -0
- package/src/OCP1/OcaTimeDeliveryMechanism.js +4 -0
- package/src/OCP1/OcaTimeDeliveryParameters_StreamEndpoint.js +15 -0
- package/src/OCP1/OcaTimePTP.js +2 -15
- package/src/OCP1/OcaTypedBlob.js +16 -0
- package/src/OCP1/OcaUint16.js +3 -0
- package/src/OCP1/OcaUint32.js +3 -0
- package/src/OCP1/OcaUint64.js +3 -0
- package/src/OCP1/OcaUint8.js +3 -0
- package/src/OCP1/OcaVariant.js +92 -0
- package/src/OCP1/OcaWhenPhysicalAbsolute.js +16 -0
- package/src/OCP1/OcaWhenPhysicalRelative.js +16 -0
- package/src/OCP1/RestWithOffset.js +3 -0
- package/src/OCP1/String16.js +3 -0
- package/src/OCP1/Struct.js +12 -0
- package/src/OCP1/Tuple.js +3 -0
- package/src/OCP1/createBlobType.js +58 -0
- package/src/OCP1/createListType.js +137 -0
- package/src/OCP1/createType.js +8 -4
- package/src/OCP1/decode_message.js +10 -2
- package/src/OCP1/encode_message.js +5 -1
- package/src/OCP1/getLengthEncoder.js +23 -0
- package/src/OCP1/notification2.js +70 -0
- package/src/OCP1/protocol_version.js +4 -0
- package/src/connection.js +14 -6
- package/src/controller/ControlClasses/OcaActuator.d.ts +3 -3
- package/src/controller/ControlClasses/OcaActuator.js +4 -4
- package/src/controller/ControlClasses/OcaAgent.d.ts +6 -14
- package/src/controller/ControlClasses/OcaAgent.js +8 -18
- package/src/controller/ControlClasses/OcaApplicationNetwork.d.ts +9 -17
- package/src/controller/ControlClasses/OcaApplicationNetwork.js +11 -32
- package/src/controller/ControlClasses/OcaAudioLevelSensor.d.ts +4 -7
- package/src/controller/ControlClasses/OcaAudioLevelSensor.js +5 -8
- package/src/controller/ControlClasses/OcaAudioProcessingManager.d.ts +1 -1
- package/src/controller/ControlClasses/OcaAudioProcessingManager.js +2 -2
- package/src/controller/ControlClasses/OcaBasicActuator.d.ts +1 -1
- package/src/controller/ControlClasses/OcaBasicActuator.js +2 -2
- package/src/controller/ControlClasses/OcaBasicSensor.d.ts +1 -1
- package/src/controller/ControlClasses/OcaBasicSensor.js +2 -2
- package/src/controller/ControlClasses/OcaBitstringActuator.d.ts +34 -13
- package/src/controller/ControlClasses/OcaBitstringActuator.js +35 -18
- package/src/controller/ControlClasses/OcaBitstringSensor.d.ts +19 -7
- package/src/controller/ControlClasses/OcaBitstringSensor.js +22 -12
- package/src/controller/ControlClasses/OcaBlock.d.ts +455 -89
- package/src/controller/ControlClasses/OcaBlock.js +477 -103
- package/src/controller/ControlClasses/OcaBlockFactoryAgent.d.ts +299 -0
- package/src/controller/ControlClasses/OcaBlockFactoryAgent.js +360 -0
- package/src/controller/ControlClasses/OcaBooleanActuator.d.ts +2 -4
- package/src/controller/ControlClasses/OcaBooleanActuator.js +3 -5
- package/src/controller/ControlClasses/OcaBooleanSensor.d.ts +2 -3
- package/src/controller/ControlClasses/OcaBooleanSensor.js +3 -4
- package/src/controller/ControlClasses/OcaCodingManager.js +1 -1
- package/src/controller/ControlClasses/OcaCommandSet.d.ts +89 -0
- package/src/controller/ControlClasses/OcaCommandSet.js +94 -0
- package/src/controller/ControlClasses/OcaCommandSetAgent.d.ts +31 -0
- package/src/controller/ControlClasses/OcaCommandSetAgent.js +38 -0
- package/src/controller/ControlClasses/OcaCounterNotifier.d.ts +89 -0
- package/src/controller/ControlClasses/OcaCounterNotifier.js +101 -0
- package/src/controller/ControlClasses/OcaCurrentSensor.d.ts +2 -3
- package/src/controller/ControlClasses/OcaCurrentSensor.js +3 -4
- package/src/controller/ControlClasses/OcaDataset.d.ts +223 -0
- package/src/controller/ControlClasses/OcaDataset.js +234 -0
- package/src/controller/ControlClasses/OcaDatasetWorker.d.ts +31 -0
- package/src/controller/ControlClasses/OcaDatasetWorker.js +40 -0
- package/src/controller/ControlClasses/OcaDelay.d.ts +2 -4
- package/src/controller/ControlClasses/OcaDelay.js +3 -5
- package/src/controller/ControlClasses/OcaDelayExtended.d.ts +5 -7
- package/src/controller/ControlClasses/OcaDelayExtended.js +6 -8
- package/src/controller/ControlClasses/OcaDeviceManager.d.ts +123 -62
- package/src/controller/ControlClasses/OcaDeviceManager.js +161 -83
- package/src/controller/ControlClasses/OcaDeviceTimeManager.d.ts +43 -25
- package/src/controller/ControlClasses/OcaDeviceTimeManager.js +43 -28
- package/src/controller/ControlClasses/OcaDiagnosticManager.d.ts +1 -13
- package/src/controller/ControlClasses/OcaDiagnosticManager.js +3 -16
- package/src/controller/ControlClasses/OcaDynamics.d.ts +38 -63
- package/src/controller/ControlClasses/OcaDynamics.js +48 -71
- package/src/controller/ControlClasses/OcaDynamicsCurve.d.ts +169 -82
- package/src/controller/ControlClasses/OcaDynamicsCurve.js +189 -93
- package/src/controller/ControlClasses/OcaDynamicsDetector.d.ts +8 -16
- package/src/controller/ControlClasses/OcaDynamicsDetector.js +9 -17
- package/src/controller/ControlClasses/OcaFilterArbitraryCurve.d.ts +5 -7
- package/src/controller/ControlClasses/OcaFilterArbitraryCurve.js +10 -12
- package/src/controller/ControlClasses/OcaFilterClassical.d.ts +15 -26
- package/src/controller/ControlClasses/OcaFilterClassical.js +15 -27
- package/src/controller/ControlClasses/OcaFilterFIR.d.ts +6 -11
- package/src/controller/ControlClasses/OcaFilterFIR.js +12 -18
- package/src/controller/ControlClasses/OcaFilterParametric.d.ts +55 -26
- package/src/controller/ControlClasses/OcaFilterParametric.js +63 -32
- package/src/controller/ControlClasses/OcaFilterPolynomial.d.ts +5 -4
- package/src/controller/ControlClasses/OcaFilterPolynomial.js +8 -7
- package/src/controller/ControlClasses/OcaFirmwareManager.d.ts +6 -11
- package/src/controller/ControlClasses/OcaFirmwareManager.js +5 -11
- package/src/controller/ControlClasses/OcaFloat32Actuator.d.ts +3 -5
- package/src/controller/ControlClasses/OcaFloat32Actuator.js +4 -6
- package/src/controller/ControlClasses/OcaFloat32Sensor.d.ts +2 -3
- package/src/controller/ControlClasses/OcaFloat32Sensor.js +3 -4
- package/src/controller/ControlClasses/OcaFloat64Actuator.d.ts +3 -5
- package/src/controller/ControlClasses/OcaFloat64Actuator.js +4 -6
- package/src/controller/ControlClasses/OcaFloat64Sensor.d.ts +2 -3
- package/src/controller/ControlClasses/OcaFloat64Sensor.js +3 -4
- package/src/controller/ControlClasses/OcaFrequencyActuator.d.ts +2 -4
- package/src/controller/ControlClasses/OcaFrequencyActuator.js +3 -5
- package/src/controller/ControlClasses/OcaFrequencySensor.d.ts +1 -2
- package/src/controller/ControlClasses/OcaFrequencySensor.js +2 -3
- package/src/controller/ControlClasses/OcaGain.d.ts +2 -4
- package/src/controller/ControlClasses/OcaGain.js +3 -5
- package/src/controller/ControlClasses/OcaGainSensor.d.ts +2 -3
- package/src/controller/ControlClasses/OcaGainSensor.js +3 -4
- package/src/controller/ControlClasses/OcaGroup.d.ts +140 -0
- package/src/controller/ControlClasses/OcaGroup.js +156 -0
- package/src/controller/ControlClasses/OcaGrouper.d.ts +20 -140
- package/src/controller/ControlClasses/OcaGrouper.js +34 -171
- package/src/controller/ControlClasses/OcaIdentificationActuator.d.ts +5 -7
- package/src/controller/ControlClasses/OcaIdentificationActuator.js +7 -9
- package/src/controller/ControlClasses/OcaIdentificationSensor.d.ts +5 -6
- package/src/controller/ControlClasses/OcaIdentificationSensor.js +6 -7
- package/src/controller/ControlClasses/OcaImpedanceSensor.d.ts +2 -3
- package/src/controller/ControlClasses/OcaImpedanceSensor.js +3 -4
- package/src/controller/ControlClasses/OcaInt16Actuator.d.ts +3 -5
- package/src/controller/ControlClasses/OcaInt16Actuator.js +4 -6
- package/src/controller/ControlClasses/OcaInt16Sensor.d.ts +2 -3
- package/src/controller/ControlClasses/OcaInt16Sensor.js +3 -4
- package/src/controller/ControlClasses/OcaInt32Actuator.d.ts +3 -5
- package/src/controller/ControlClasses/OcaInt32Actuator.js +4 -6
- package/src/controller/ControlClasses/OcaInt32Sensor.d.ts +2 -3
- package/src/controller/ControlClasses/OcaInt32Sensor.js +3 -4
- package/src/controller/ControlClasses/OcaInt64Actuator.d.ts +3 -5
- package/src/controller/ControlClasses/OcaInt64Actuator.js +4 -6
- package/src/controller/ControlClasses/OcaInt64Sensor.d.ts +2 -3
- package/src/controller/ControlClasses/OcaInt64Sensor.js +3 -4
- package/src/controller/ControlClasses/OcaInt8Actuator.d.ts +3 -5
- package/src/controller/ControlClasses/OcaInt8Actuator.js +4 -6
- package/src/controller/ControlClasses/OcaInt8Sensor.d.ts +2 -3
- package/src/controller/ControlClasses/OcaInt8Sensor.js +3 -4
- package/src/controller/ControlClasses/OcaJsonActuator.d.ts +46 -0
- package/src/controller/ControlClasses/OcaJsonActuator.js +58 -0
- package/src/controller/ControlClasses/OcaJsonSensor.d.ts +51 -0
- package/src/controller/ControlClasses/OcaJsonSensor.js +65 -0
- package/src/controller/ControlClasses/OcaLevelSensor.d.ts +1 -2
- package/src/controller/ControlClasses/OcaLevelSensor.js +2 -3
- package/src/controller/ControlClasses/OcaLibraryManager.d.ts +1 -1
- package/src/controller/ControlClasses/OcaLibraryManager.js +3 -3
- package/src/controller/ControlClasses/OcaLockManager.d.ts +44 -0
- package/src/controller/ControlClasses/OcaLockManager.js +53 -0
- package/src/controller/ControlClasses/OcaLog.d.ts +128 -0
- package/src/controller/ControlClasses/OcaLog.js +142 -0
- package/src/controller/ControlClasses/OcaManager.js +1 -1
- package/src/controller/ControlClasses/OcaMatrix.d.ts +104 -82
- package/src/controller/ControlClasses/OcaMatrix.js +121 -93
- package/src/controller/ControlClasses/OcaMediaClock.d.ts +27 -0
- package/src/controller/ControlClasses/OcaMediaClock.js +28 -4
- package/src/controller/ControlClasses/OcaMediaClock3.d.ts +16 -22
- package/src/controller/ControlClasses/OcaMediaClock3.js +22 -29
- package/src/controller/ControlClasses/OcaMediaClockManager.d.ts +7 -10
- package/src/controller/ControlClasses/OcaMediaClockManager.js +9 -13
- package/src/controller/ControlClasses/OcaMediaRecorderPlayer.d.ts +235 -0
- package/src/controller/ControlClasses/OcaMediaRecorderPlayer.js +261 -0
- package/src/controller/ControlClasses/OcaMediaTransportApplication.d.ts +612 -0
- package/src/controller/ControlClasses/OcaMediaTransportApplication.js +704 -0
- package/src/controller/ControlClasses/OcaMediaTransportNetwork.d.ts +12 -25
- package/src/controller/ControlClasses/OcaMediaTransportNetwork.js +12 -35
- package/src/controller/ControlClasses/OcaMediaTransportSessionAgent.d.ts +235 -0
- package/src/controller/ControlClasses/OcaMediaTransportSessionAgent.js +249 -0
- package/src/controller/ControlClasses/OcaMute.d.ts +2 -4
- package/src/controller/ControlClasses/OcaMute.js +3 -5
- package/src/controller/ControlClasses/OcaNetwork.js +1 -1
- package/src/controller/ControlClasses/OcaNetworkApplication.d.ts +179 -0
- package/src/controller/ControlClasses/OcaNetworkApplication.js +202 -0
- package/src/controller/ControlClasses/OcaNetworkInterface.d.ts +318 -0
- package/src/controller/ControlClasses/OcaNetworkInterface.js +353 -0
- package/src/controller/ControlClasses/OcaNetworkManager.d.ts +45 -17
- package/src/controller/ControlClasses/OcaNetworkManager.js +59 -22
- package/src/controller/ControlClasses/OcaNetworkSignalChannel.js +1 -1
- package/src/controller/ControlClasses/OcaNumericObserver.d.ts +24 -40
- package/src/controller/ControlClasses/OcaNumericObserver.js +25 -40
- package/src/controller/ControlClasses/OcaNumericObserverList.d.ts +20 -33
- package/src/controller/ControlClasses/OcaNumericObserverList.js +26 -39
- package/src/controller/ControlClasses/OcaPanBalance.d.ts +4 -8
- package/src/controller/ControlClasses/OcaPanBalance.js +5 -9
- package/src/controller/ControlClasses/OcaPhysicalPosition.d.ts +3 -6
- package/src/controller/ControlClasses/OcaPhysicalPosition.js +4 -7
- package/src/controller/ControlClasses/OcaPolarity.d.ts +2 -4
- package/src/controller/ControlClasses/OcaPolarity.js +3 -5
- package/src/controller/ControlClasses/OcaPowerManager.d.ts +30 -14
- package/src/controller/ControlClasses/OcaPowerManager.js +32 -17
- package/src/controller/ControlClasses/OcaPowerSensor.d.ts +38 -0
- package/src/controller/ControlClasses/OcaPowerSensor.js +51 -0
- package/src/controller/ControlClasses/OcaPowerSupply.d.ts +8 -16
- package/src/controller/ControlClasses/OcaPowerSupply.js +13 -21
- package/src/controller/ControlClasses/OcaProgram.d.ts +63 -0
- package/src/controller/ControlClasses/OcaProgram.js +82 -0
- package/src/controller/ControlClasses/OcaRamper.d.ts +46 -10
- package/src/controller/ControlClasses/OcaRamper.js +65 -12
- package/src/controller/ControlClasses/OcaRoot.d.ts +69 -24
- package/src/controller/ControlClasses/OcaRoot.js +67 -26
- package/src/controller/ControlClasses/OcaSamplingRateConverter.d.ts +22 -0
- package/src/controller/ControlClasses/OcaSamplingRateConverter.js +28 -0
- package/src/controller/ControlClasses/OcaSecurityManager.d.ts +12 -13
- package/src/controller/ControlClasses/OcaSecurityManager.js +10 -12
- package/src/controller/ControlClasses/OcaSensor.d.ts +1 -2
- package/src/controller/ControlClasses/OcaSensor.js +2 -3
- package/src/controller/ControlClasses/OcaSignalGenerator.d.ts +21 -39
- package/src/controller/ControlClasses/OcaSignalGenerator.js +22 -40
- package/src/controller/ControlClasses/OcaSignalInput.d.ts +4 -4
- package/src/controller/ControlClasses/OcaSignalInput.js +5 -5
- package/src/controller/ControlClasses/OcaSignalOutput.d.ts +4 -4
- package/src/controller/ControlClasses/OcaSignalOutput.js +5 -5
- package/src/controller/ControlClasses/OcaStateSensor.d.ts +58 -0
- package/src/controller/ControlClasses/OcaStateSensor.js +75 -0
- package/src/controller/ControlClasses/OcaStreamConnector.js +1 -1
- package/src/controller/ControlClasses/OcaStreamNetwork.js +1 -1
- package/src/controller/ControlClasses/OcaStringActuator.d.ts +7 -8
- package/src/controller/ControlClasses/OcaStringActuator.js +7 -8
- package/src/controller/ControlClasses/OcaStringSensor.d.ts +20 -9
- package/src/controller/ControlClasses/OcaStringSensor.js +23 -13
- package/src/controller/ControlClasses/OcaSubscriptionManager.d.ts +211 -41
- package/src/controller/ControlClasses/OcaSubscriptionManager.js +224 -39
- package/src/controller/ControlClasses/OcaSummingPoint.d.ts +3 -2
- package/src/controller/ControlClasses/OcaSummingPoint.js +4 -3
- package/src/controller/ControlClasses/OcaSwitch.d.ts +70 -25
- package/src/controller/ControlClasses/OcaSwitch.js +113 -35
- package/src/controller/ControlClasses/OcaTaskAgent.d.ts +192 -0
- package/src/controller/ControlClasses/OcaTaskAgent.js +212 -0
- package/src/controller/ControlClasses/OcaTaskManager.d.ts +4 -6
- package/src/controller/ControlClasses/OcaTaskManager.js +7 -9
- package/src/controller/ControlClasses/OcaTaskScheduler.d.ts +150 -0
- package/src/controller/ControlClasses/OcaTaskScheduler.js +159 -0
- package/src/controller/ControlClasses/OcaTemperatureActuator.d.ts +3 -5
- package/src/controller/ControlClasses/OcaTemperatureActuator.js +4 -6
- package/src/controller/ControlClasses/OcaTemperatureSensor.d.ts +2 -3
- package/src/controller/ControlClasses/OcaTemperatureSensor.js +3 -4
- package/src/controller/ControlClasses/OcaTimeIntervalSensor.d.ts +1 -2
- package/src/controller/ControlClasses/OcaTimeIntervalSensor.js +2 -3
- package/src/controller/ControlClasses/OcaTimeSource.d.ts +108 -37
- package/src/controller/ControlClasses/OcaTimeSource.js +148 -48
- package/src/controller/ControlClasses/OcaUint16Actuator.d.ts +3 -5
- package/src/controller/ControlClasses/OcaUint16Actuator.js +4 -6
- package/src/controller/ControlClasses/OcaUint16Sensor.d.ts +2 -3
- package/src/controller/ControlClasses/OcaUint16Sensor.js +3 -4
- package/src/controller/ControlClasses/OcaUint32Actuator.d.ts +3 -5
- package/src/controller/ControlClasses/OcaUint32Actuator.js +4 -6
- package/src/controller/ControlClasses/OcaUint32Sensor.d.ts +2 -3
- package/src/controller/ControlClasses/OcaUint32Sensor.js +3 -4
- package/src/controller/ControlClasses/OcaUint64Actuator.d.ts +3 -5
- package/src/controller/ControlClasses/OcaUint64Actuator.js +4 -6
- package/src/controller/ControlClasses/OcaUint64Sensor.d.ts +2 -3
- package/src/controller/ControlClasses/OcaUint64Sensor.js +3 -4
- package/src/controller/ControlClasses/OcaUint8Actuator.d.ts +3 -5
- package/src/controller/ControlClasses/OcaUint8Actuator.js +4 -6
- package/src/controller/ControlClasses/OcaUint8Sensor.d.ts +2 -3
- package/src/controller/ControlClasses/OcaUint8Sensor.js +3 -4
- package/src/controller/ControlClasses/OcaVoltageSensor.d.ts +2 -3
- package/src/controller/ControlClasses/OcaVoltageSensor.js +3 -4
- package/src/controller/ControlClasses/OcaWorker.d.ts +84 -37
- package/src/controller/ControlClasses/OcaWorker.js +93 -43
- package/src/controller/base_event.js +71 -23
- package/src/controller/client_connection.d.ts +26 -0
- package/src/controller/client_connection.js +39 -7
- package/src/controller/event.js +17 -20
- package/src/controller/make_control_class.js +3 -1
- package/src/controller/notification_error.d.ts +40 -0
- package/src/controller/notification_error.js +62 -0
- package/src/controller/observeProperty.js +8 -8
- package/src/controller/property_event.js +18 -10
- package/src/controller/remote_device.js +137 -49
- package/src/index.default.d.ts +1 -0
- package/src/index.default.js +1 -0
- package/src/types/Enum.js +8 -0
- package/src/types/OcaActionObjectSearchResult.d.ts +73 -0
- package/src/types/OcaActionObjectSearchResult.js +34 -0
- package/src/types/OcaActionObjectSearchResultFlags.d.ts +37 -0
- package/src/types/OcaActionObjectSearchResultFlags.js +52 -0
- package/src/types/OcaApplicationNetworkCommand.d.ts +1 -19
- package/src/types/OcaApplicationNetworkCommand.js +0 -24
- package/src/types/OcaApplicationNetworkState.d.ts +1 -37
- package/src/types/OcaApplicationNetworkState.js +0 -48
- package/src/types/OcaBlockConfigurability.d.ts +26 -0
- package/src/types/OcaBlockConfigurability.js +35 -0
- package/src/types/OcaClassicalFilterShape.d.ts +1 -1
- package/src/types/OcaClassicalFilterShape.js +1 -1
- package/src/types/OcaCommand.d.ts +44 -0
- package/src/types/OcaCommand.js +25 -0
- package/src/types/OcaCommandResult.d.ts +42 -0
- package/src/types/OcaCommandResult.js +24 -0
- package/src/types/OcaCommandSetResult.d.ts +41 -0
- package/src/types/OcaCommandSetResult.js +23 -0
- package/src/types/OcaConstructionParameter.d.ts +40 -0
- package/src/types/OcaConstructionParameter.js +23 -0
- package/src/types/OcaCounter.d.ts +81 -0
- package/src/types/OcaCounter.js +38 -0
- package/src/types/OcaCounterNotifierFilterParameters.d.ts +81 -0
- package/src/types/OcaCounterNotifierFilterParameters.js +37 -0
- package/src/types/OcaCounterSet.d.ts +38 -0
- package/src/types/OcaCounterSet.js +22 -0
- package/src/types/OcaCounterUpdate.d.ts +54 -0
- package/src/types/OcaCounterUpdate.js +28 -0
- package/src/types/OcaCounterUpdateEventData.d.ts +27 -0
- package/src/types/OcaCounterUpdateEventData.js +17 -0
- package/src/types/OcaDatasetSearchResult.d.ts +51 -0
- package/src/types/OcaDatasetSearchResult.js +28 -0
- package/src/types/OcaDelayUnit.d.ts +2 -1
- package/src/types/OcaDelayUnit.js +2 -1
- package/src/types/OcaDelayValue.d.ts +2 -1
- package/src/types/OcaDelayValue.js +2 -1
- package/src/types/OcaDeviceGenericState.d.ts +62 -0
- package/src/types/OcaDeviceGenericState.js +52 -0
- package/src/types/OcaDeviceOperationalState.d.ts +42 -0
- package/src/types/OcaDeviceOperationalState.js +22 -0
- package/src/types/OcaDeviceState.d.ts +2 -2
- package/src/types/OcaDeviceState.js +2 -2
- package/src/types/OcaExecutableType.d.ts +50 -0
- package/src/types/OcaExecutableType.js +36 -0
- package/src/types/OcaGenericEndState.d.ts +56 -0
- package/src/types/OcaGenericEndState.js +44 -0
- package/src/types/OcaGlobalTypeIdentifier.d.ts +12 -12
- package/src/types/OcaGlobalTypeIdentifier.js +8 -7
- package/src/types/OcaGroupException.d.ts +53 -0
- package/src/types/OcaGroupException.js +28 -0
- package/src/types/OcaGrouperCitizen.d.ts +10 -10
- package/src/types/OcaGrouperCitizen.js +6 -6
- package/src/types/OcaGrouperEnrollment.d.ts +4 -9
- package/src/types/OcaGrouperEnrollment.js +3 -5
- package/src/types/OcaGrouperGroup.d.ts +9 -9
- package/src/types/OcaGrouperGroup.js +5 -5
- package/src/types/OcaGrouperMode.d.ts +4 -3
- package/src/types/OcaGrouperMode.js +4 -3
- package/src/types/OcaGrouperStatusChangeEventData.d.ts +2 -2
- package/src/types/OcaGrouperStatusChangeEventData.js +2 -2
- package/src/types/OcaGrouperStatusChangeType.d.ts +1 -1
- package/src/types/OcaGrouperStatusChangeType.js +1 -1
- package/src/types/OcaIODirection.d.ts +39 -0
- package/src/types/OcaIODirection.js +28 -0
- package/src/types/OcaIP4AutoconfigMode.d.ts +56 -0
- package/src/types/OcaIP4AutoconfigMode.js +44 -0
- package/src/types/OcaIP4Gateway.d.ts +53 -0
- package/src/types/OcaIP4Gateway.js +27 -0
- package/src/types/OcaIP4NetworkSettings.d.ts +111 -0
- package/src/types/OcaIP4NetworkSettings.js +56 -0
- package/src/types/OcaIP6AutoconfigMode.d.ts +56 -0
- package/src/types/OcaIP6AutoconfigMode.js +44 -0
- package/src/types/OcaIP6Gateway.d.ts +53 -0
- package/src/types/OcaIP6Gateway.js +27 -0
- package/src/types/OcaIP6NetworkSettings.d.ts +123 -0
- package/src/types/OcaIP6NetworkSettings.js +61 -0
- package/src/types/OcaInterval.d.ts +8 -0
- package/src/types/OcaInterval.js +84 -0
- package/src/types/OcaIntervalBounds.d.ts +41 -0
- package/src/types/OcaIntervalBounds.js +53 -0
- package/src/types/OcaJobDisposedEventData.d.ts +57 -0
- package/src/types/OcaJobDisposedEventData.js +28 -0
- package/src/types/OcaJobDisposition.d.ts +68 -0
- package/src/types/OcaJobDisposition.js +60 -0
- package/src/types/OcaJobQueueItem.d.ts +105 -0
- package/src/types/OcaJobQueueItem.js +44 -0
- package/src/types/OcaLibVolType.d.ts +2 -4
- package/src/types/OcaLibVolType.js +1 -2
- package/src/types/OcaLockState.d.ts +50 -0
- package/src/types/OcaLockState.js +36 -0
- package/src/types/OcaLogFilter.d.ts +70 -0
- package/src/types/OcaLogFilter.js +33 -0
- package/src/types/OcaLogRecord.d.ts +85 -0
- package/src/types/OcaLogRecord.js +40 -0
- package/src/types/OcaManagerDefaultObjectNumbers.d.ts +7 -0
- package/src/types/OcaManagerDefaultObjectNumbers.js +7 -0
- package/src/types/OcaManagerDescriptor.d.ts +11 -9
- package/src/types/OcaManagerDescriptor.js +6 -5
- package/src/types/OcaManufacturer.d.ts +87 -0
- package/src/types/OcaManufacturer.js +47 -0
- package/src/types/OcaMatrixCommand.d.ts +61 -0
- package/src/types/OcaMatrixCommand.js +29 -0
- package/src/types/OcaMatrixCoordinates.d.ts +38 -0
- package/src/types/OcaMatrixCoordinates.js +23 -0
- package/src/types/OcaMediaAccessMode.d.ts +50 -0
- package/src/types/OcaMediaAccessMode.js +36 -0
- package/src/types/OcaMediaClockAvailability.d.ts +1 -1
- package/src/types/OcaMediaClockAvailability.js +1 -1
- package/src/types/OcaMediaClockRate.d.ts +7 -7
- package/src/types/OcaMediaClockRate.js +4 -4
- package/src/types/OcaMediaConnection.d.ts +2 -2
- package/src/types/OcaMediaConnection.js +1 -1
- package/src/types/OcaMediaFrameFormat.d.ts +74 -0
- package/src/types/OcaMediaFrameFormat.js +68 -0
- package/src/types/OcaMediaPlayOption.d.ts +50 -0
- package/src/types/OcaMediaPlayOption.js +36 -0
- package/src/types/OcaMediaRecorderPlayerState.d.ts +62 -0
- package/src/types/OcaMediaRecorderPlayerState.js +52 -0
- package/src/types/OcaMediaStreamCastMode.d.ts +3 -3
- package/src/types/OcaMediaStreamCastMode.js +3 -3
- package/src/types/OcaMediaStreamEndpoint.d.ts +238 -0
- package/src/types/OcaMediaStreamEndpoint.js +114 -0
- package/src/types/OcaMediaStreamEndpointCommand.d.ts +80 -0
- package/src/types/OcaMediaStreamEndpointCommand.js +76 -0
- package/src/types/OcaMediaStreamEndpointState.d.ts +68 -0
- package/src/types/OcaMediaStreamEndpointState.js +60 -0
- package/src/types/OcaMediaStreamEndpointStatus.d.ts +44 -0
- package/src/types/OcaMediaStreamEndpointStatus.js +23 -0
- package/src/types/OcaMediaStreamMode.d.ts +83 -0
- package/src/types/OcaMediaStreamMode.js +43 -0
- package/src/types/OcaMediaStreamModeCapability.d.ts +167 -0
- package/src/types/OcaMediaStreamModeCapability.js +81 -0
- package/src/types/OcaMediaStreamModeCapabilityDirection.d.ts +21 -0
- package/src/types/OcaMediaStreamModeCapabilityDirection.js +27 -0
- package/src/types/OcaMediaTrackFunction.d.ts +27 -0
- package/src/types/OcaMediaTrackFunction.js +36 -0
- package/src/types/OcaMediaTransportSession.d.ts +119 -0
- package/src/types/OcaMediaTransportSession.js +58 -0
- package/src/types/OcaMediaTransportSessionConnection.d.ts +63 -0
- package/src/types/OcaMediaTransportSessionConnection.js +32 -0
- package/src/types/OcaMediaTransportSessionConnectionState.d.ts +47 -0
- package/src/types/OcaMediaTransportSessionConnectionState.js +24 -0
- package/src/types/OcaMediaTransportSessionState.d.ts +62 -0
- package/src/types/OcaMediaTransportSessionState.js +52 -0
- package/src/types/OcaMediaTransportSessionStatus.d.ts +43 -0
- package/src/types/OcaMediaTransportSessionStatus.js +23 -0
- package/src/types/OcaMediaTransportTimingParameters.d.ts +54 -0
- package/src/types/OcaMediaTransportTimingParameters.js +31 -0
- package/src/types/OcaMediaVolumePosition.d.ts +46 -0
- package/src/types/OcaMediaVolumePosition.js +23 -0
- package/src/types/OcaMediaVolumePositionType.d.ts +44 -0
- package/src/types/OcaMediaVolumePositionType.js +28 -0
- package/src/types/OcaModelGUID.d.ts +0 -1
- package/src/types/OcaModelGUID.js +0 -1
- package/src/types/OcaNetworkAdvertisingMechanism.d.ts +43 -0
- package/src/types/OcaNetworkAdvertisingMechanism.js +23 -0
- package/src/types/OcaNetworkAdvertisingService.d.ts +56 -0
- package/src/types/OcaNetworkAdvertisingService.js +44 -0
- package/src/types/OcaNetworkInterfaceAssignment.d.ts +99 -0
- package/src/types/OcaNetworkInterfaceAssignment.js +51 -0
- package/src/types/OcaNetworkInterfaceCommand.d.ts +50 -0
- package/src/types/OcaNetworkInterfaceCommand.js +36 -0
- package/src/types/OcaNetworkInterfaceState.d.ts +50 -0
- package/src/types/OcaNetworkInterfaceState.js +36 -0
- package/src/types/OcaNetworkInterfaceStatus.d.ts +42 -0
- package/src/types/OcaNetworkInterfaceStatus.js +22 -0
- package/src/types/OcaNotificationDeliveryMode.d.ts +13 -1
- package/src/types/OcaNotificationDeliveryMode.js +17 -1
- package/src/types/OcaOPath.d.ts +16 -2
- package/src/types/OcaOPath.js +8 -1
- package/src/types/OcaObjectListEventData.d.ts +2 -2
- package/src/types/OcaObjectListEventData.js +2 -2
- package/src/types/OcaObjectSearchResult.d.ts +4 -83
- package/src/types/OcaObjectSearchResult.js +2 -37
- package/src/types/OcaObjectSearchResultFlags.d.ts +4 -33
- package/src/types/OcaObjectSearchResultFlags.js +2 -48
- package/src/types/OcaObservationEventData.d.ts +2 -2
- package/src/types/OcaObservationEventData.js +2 -2
- package/src/types/OcaObservationListEventData.d.ts +2 -2
- package/src/types/OcaObservationListEventData.js +2 -2
- package/src/types/OcaObserverState.d.ts +1 -1
- package/src/types/OcaObserverState.js +1 -1
- package/src/types/OcaParameterMask.d.ts +81 -1
- package/src/types/OcaParameterMask.js +131 -1
- package/src/types/OcaPort.d.ts +7 -5
- package/src/types/OcaPort.js +4 -3
- package/src/types/OcaPortClockMapEntry.d.ts +42 -0
- package/src/types/OcaPortClockMapEntry.js +23 -0
- package/src/types/OcaPortID.d.ts +12 -10
- package/src/types/OcaPortID.js +7 -6
- package/src/types/OcaPortIdentification.d.ts +39 -0
- package/src/types/OcaPortIdentification.js +23 -0
- package/src/types/OcaPortMode.d.ts +4 -36
- package/src/types/OcaPortMode.js +2 -25
- package/src/types/OcaPositionDescriptor.d.ts +6 -6
- package/src/types/OcaPositionDescriptor.js +2 -2
- package/src/types/OcaPositionDescriptorFieldFlags.d.ts +33 -3
- package/src/types/OcaPositionDescriptorFieldFlags.js +53 -3
- package/src/types/OcaPowerSupplyState.d.ts +1 -1
- package/src/types/OcaPowerSupplyState.js +1 -1
- package/src/types/OcaProduct.d.ts +92 -0
- package/src/types/OcaProduct.js +42 -0
- package/src/types/OcaProgramResult.d.ts +39 -0
- package/src/types/OcaProgramResult.js +22 -0
- package/src/types/OcaProgramRunMode.d.ts +24 -0
- package/src/types/OcaProgramRunMode.js +30 -0
- package/src/types/OcaProperty.d.ts +2 -2
- package/src/types/OcaProperty.js +2 -2
- package/src/types/OcaProtoObjectIdentification.d.ts +1 -1
- package/src/types/OcaProtoObjectIdentification.js +1 -1
- package/src/types/OcaProtoPort.d.ts +16 -18
- package/src/types/OcaProtoPort.js +6 -8
- package/src/types/OcaProtoPortClockMapEntry.d.ts +46 -0
- package/src/types/OcaProtoPortClockMapEntry.js +25 -0
- package/src/types/OcaProtoSignalPath.d.ts +12 -10
- package/src/types/OcaProtoSignalPath.js +7 -6
- package/src/types/OcaRamperState.d.ts +19 -18
- package/src/types/OcaRamperState.js +19 -18
- package/src/types/OcaResetCause.d.ts +7 -1
- package/src/types/OcaResetCause.js +8 -0
- package/src/types/OcaSamplingRateConverterType.d.ts +50 -0
- package/src/types/OcaSamplingRateConverterType.js +36 -0
- package/src/types/OcaSecurityType.d.ts +39 -0
- package/src/types/OcaSecurityType.js +28 -0
- package/src/types/OcaSignalPath.d.ts +10 -10
- package/src/types/OcaSignalPath.js +6 -6
- package/src/types/OcaStatus.d.ts +19 -1
- package/src/types/OcaStatus.js +24 -0
- package/src/types/OcaStream.d.ts +2 -2
- package/src/types/OcaStream.js +1 -1
- package/src/types/OcaTask.d.ts +23 -24
- package/src/types/OcaTask.js +7 -7
- package/src/types/OcaTaskCommand.d.ts +2 -7
- package/src/types/OcaTaskCommand.js +2 -9
- package/src/types/OcaTaskExecutionTerminatedEventData.d.ts +64 -0
- package/src/types/OcaTaskExecutionTerminatedEventData.js +30 -0
- package/src/types/OcaTaskGenericState.d.ts +64 -0
- package/src/types/OcaTaskGenericState.js +54 -0
- package/src/types/OcaTaskManagerState.d.ts +1 -0
- package/src/types/OcaTaskManagerState.js +1 -0
- package/src/types/OcaTaskOperationalState.d.ts +43 -0
- package/src/types/OcaTaskOperationalState.js +22 -0
- package/src/types/OcaTaskSchedulerState.d.ts +63 -0
- package/src/types/OcaTaskSchedulerState.js +53 -0
- package/src/types/OcaTaskStatus.d.ts +2 -12
- package/src/types/OcaTaskStatus.js +2 -12
- package/src/types/OcaTaskStatusChangedEventData.d.ts +61 -0
- package/src/types/OcaTaskStatusChangedEventData.js +29 -0
- package/src/types/OcaTime.d.ts +56 -0
- package/src/types/OcaTime.js +32 -0
- package/src/types/OcaTimeDeliveryMechanism.d.ts +167 -0
- package/src/types/OcaTimeDeliveryMechanism.js +191 -0
- package/src/types/OcaTimeDeliveryParameters_StreamEndpoint.d.ts +40 -0
- package/src/types/OcaTimeDeliveryParameters_StreamEndpoint.js +24 -0
- package/src/types/OcaTimePTP.d.ts +4 -51
- package/src/types/OcaTimePTP.js +2 -28
- package/src/types/OcaTimeReferenceType.d.ts +7 -13
- package/src/types/OcaTimeReferenceType.js +6 -14
- package/src/types/OcaTimeSourceAvailability.d.ts +1 -1
- package/src/types/OcaTimeSourceAvailability.js +1 -1
- package/src/types/OcaTimeSourceSyncStatus.d.ts +1 -1
- package/src/types/OcaTimeSourceSyncStatus.js +1 -1
- package/src/types/OcaTransferFunction.d.ts +1 -1
- package/src/types/OcaTransferFunction.js +1 -1
- package/src/types/OcaTypedBlob.d.ts +40 -0
- package/src/types/OcaTypedBlob.js +24 -0
- package/src/types/OcaVariant.d.ts +19 -0
- package/src/types/OcaVariant.js +18 -0
- package/src/types/OcaWhenPhysicalAbsolute.d.ts +39 -0
- package/src/types/OcaWhenPhysicalAbsolute.js +22 -0
- package/src/types/OcaWhenPhysicalRelative.d.ts +39 -0
- package/src/types/OcaWhenPhysicalRelative.js +22 -0
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { OcaBoolean } from '../../OCP1/OcaBoolean.js';
|
|
2
2
|
import { OcaFloat32 } from '../../OCP1/OcaFloat32.js';
|
|
3
|
+
import { OcaIODirection } from '../../OCP1/OcaIODirection.js';
|
|
3
4
|
import { OcaList } from '../../OCP1/OcaList.js';
|
|
5
|
+
import { OcaMap } from '../../OCP1/OcaMap.js';
|
|
4
6
|
import { OcaPort } from '../../OCP1/OcaPort.js';
|
|
7
|
+
import { OcaPortClockMapEntry } from '../../OCP1/OcaPortClockMapEntry.js';
|
|
5
8
|
import { OcaPortID } from '../../OCP1/OcaPortID.js';
|
|
6
|
-
import { OcaPortMode } from '../../OCP1/OcaPortMode.js';
|
|
7
9
|
import { OcaString } from '../../OCP1/OcaString.js';
|
|
8
10
|
import { OcaUint32 } from '../../OCP1/OcaUint32.js';
|
|
9
11
|
import { make_control_class } from '../make_control_class.js';
|
|
@@ -19,12 +21,12 @@ export const OcaWorker = make_control_class(
|
|
|
19
21
|
'OcaWorker',
|
|
20
22
|
2,
|
|
21
23
|
'\u0001\u0001',
|
|
22
|
-
|
|
24
|
+
3,
|
|
23
25
|
OcaRoot,
|
|
24
26
|
[
|
|
25
27
|
['GetEnabled', 2, 1, [], [OcaBoolean]],
|
|
26
28
|
['SetEnabled', 2, 2, [OcaBoolean], []],
|
|
27
|
-
['AddPort', 2, 3, [OcaString,
|
|
29
|
+
['AddPort', 2, 3, [OcaString, OcaIODirection], [OcaPortID]],
|
|
28
30
|
['DeletePort', 2, 4, [OcaPortID], []],
|
|
29
31
|
['GetPorts', 2, 5, [], [OcaList(OcaPort)]],
|
|
30
32
|
['GetPortName', 2, 6, [OcaPortID], [OcaString]],
|
|
@@ -35,28 +37,40 @@ export const OcaWorker = make_control_class(
|
|
|
35
37
|
['GetLatency', 2, 11, [], [OcaFloat32]],
|
|
36
38
|
['SetLatency', 2, 12, [OcaFloat32], []],
|
|
37
39
|
['GetPath', 2, 13, [], [OcaList(OcaString), OcaList(OcaUint32)]],
|
|
40
|
+
['GetPortClockMap', 2, 14, [], [OcaMap(OcaPortID, OcaPortClockMapEntry)]],
|
|
41
|
+
['SetPortClockMap', 2, 15, [OcaMap(OcaPortID, OcaPortClockMapEntry)], []],
|
|
42
|
+
['GetPortClockMapEntry', 2, 16, [OcaPortID], [OcaPortClockMapEntry]],
|
|
43
|
+
['SetPortClockMapEntry', 2, 17, [OcaPortID, OcaPortClockMapEntry], []],
|
|
44
|
+
['DeletePortClockMapEntry', 2, 18, [OcaPortID], []],
|
|
38
45
|
],
|
|
39
46
|
[
|
|
40
47
|
['Enabled', [OcaBoolean], 2, 1, false, false, null],
|
|
41
48
|
['Ports', [OcaList(OcaPort)], 2, 2, false, false, null],
|
|
42
49
|
['Label', [OcaString], 2, 3, false, false, null],
|
|
43
|
-
['Owner', [OcaUint32], 2, 4,
|
|
50
|
+
['Owner', [OcaUint32], 2, 4, true, false, null],
|
|
44
51
|
['Latency', [OcaFloat32], 2, 5, false, false, null],
|
|
52
|
+
[
|
|
53
|
+
'PortClockMap',
|
|
54
|
+
[OcaMap(OcaPortID, OcaPortClockMapEntry)],
|
|
55
|
+
2,
|
|
56
|
+
6,
|
|
57
|
+
false,
|
|
58
|
+
false,
|
|
59
|
+
null,
|
|
60
|
+
],
|
|
45
61
|
],
|
|
46
62
|
[]
|
|
47
63
|
);
|
|
48
64
|
|
|
49
65
|
/**
|
|
50
|
-
* Gets the value of the Enabled property.
|
|
51
|
-
* the property was successfully retrieved.
|
|
66
|
+
* Gets the value of the Enabled property.
|
|
52
67
|
*
|
|
53
68
|
* @method OcaWorker#GetEnabled
|
|
54
69
|
* @returns {Promise<boolean>}
|
|
55
70
|
* A promise which resolves to a single value of type ``boolean``.
|
|
56
71
|
*/
|
|
57
72
|
/**
|
|
58
|
-
* Sets the value of the Enabled property.
|
|
59
|
-
* the property was successfully set.
|
|
73
|
+
* Sets the value of the Enabled property.
|
|
60
74
|
*
|
|
61
75
|
* @method OcaWorker#SetEnabled
|
|
62
76
|
* @param {boolean} enabled
|
|
@@ -64,19 +78,17 @@ export const OcaWorker = make_control_class(
|
|
|
64
78
|
* @returns {Promise<void>}
|
|
65
79
|
*/
|
|
66
80
|
/**
|
|
67
|
-
* Adds an input or output port..
|
|
68
|
-
* was successfully added.
|
|
81
|
+
* Adds an input or output port..
|
|
69
82
|
*
|
|
70
83
|
* @method OcaWorker#AddPort
|
|
71
|
-
* @param {string}
|
|
72
|
-
* @param {
|
|
84
|
+
* @param {string} Name
|
|
85
|
+
* @param {IOcaIODirection} Mode
|
|
73
86
|
*
|
|
74
87
|
* @returns {Promise<OcaPortID>}
|
|
75
88
|
* A promise which resolves to a single value of type :class:`OcaPortID`.
|
|
76
89
|
*/
|
|
77
90
|
/**
|
|
78
|
-
* Deletes an input or output port..
|
|
79
|
-
* was successfully deleted.
|
|
91
|
+
* Deletes an input or output port..
|
|
80
92
|
*
|
|
81
93
|
* @method OcaWorker#DeletePort
|
|
82
94
|
* @param {IOcaPortID} ID
|
|
@@ -84,16 +96,14 @@ export const OcaWorker = make_control_class(
|
|
|
84
96
|
* @returns {Promise<void>}
|
|
85
97
|
*/
|
|
86
98
|
/**
|
|
87
|
-
* Gets the list of ports owned by the Worker object.
|
|
88
|
-
* whether the list was successfully retrieved.
|
|
99
|
+
* Gets the list of ports owned by the Worker object.
|
|
89
100
|
*
|
|
90
101
|
* @method OcaWorker#GetPorts
|
|
91
102
|
* @returns {Promise<OcaPort[]>}
|
|
92
103
|
* A promise which resolves to a single value of type :class:`OcaPort[]`.
|
|
93
104
|
*/
|
|
94
105
|
/**
|
|
95
|
-
* Gets the name of the designated port.
|
|
96
|
-
* name was successfully retrieved.
|
|
106
|
+
* Gets the name of the designated port.
|
|
97
107
|
*
|
|
98
108
|
* @method OcaWorker#GetPortName
|
|
99
109
|
* @param {IOcaPortID} PortID
|
|
@@ -102,26 +112,23 @@ export const OcaWorker = make_control_class(
|
|
|
102
112
|
* A promise which resolves to a single value of type ``string``.
|
|
103
113
|
*/
|
|
104
114
|
/**
|
|
105
|
-
* Sets the name of the designated port.
|
|
106
|
-
* name was successfully set.
|
|
115
|
+
* Sets the name of the designated port.
|
|
107
116
|
*
|
|
108
117
|
* @method OcaWorker#SetPortName
|
|
109
|
-
* @param {IOcaPortID}
|
|
118
|
+
* @param {IOcaPortID} ID
|
|
110
119
|
* @param {string} Name
|
|
111
120
|
*
|
|
112
121
|
* @returns {Promise<void>}
|
|
113
122
|
*/
|
|
114
123
|
/**
|
|
115
|
-
* Gets the value of the Label property.
|
|
116
|
-
* property was successfully retrieved.
|
|
124
|
+
* Gets the value of the Label property.
|
|
117
125
|
*
|
|
118
126
|
* @method OcaWorker#GetLabel
|
|
119
127
|
* @returns {Promise<string>}
|
|
120
128
|
* A promise which resolves to a single value of type ``string``.
|
|
121
129
|
*/
|
|
122
130
|
/**
|
|
123
|
-
* Sets the value of the Label property.
|
|
124
|
-
* property was successfully set.
|
|
131
|
+
* Sets the value of the Label property.
|
|
125
132
|
*
|
|
126
133
|
* @method OcaWorker#SetLabel
|
|
127
134
|
* @param {string} label
|
|
@@ -129,24 +136,21 @@ export const OcaWorker = make_control_class(
|
|
|
129
136
|
* @returns {Promise<void>}
|
|
130
137
|
*/
|
|
131
138
|
/**
|
|
132
|
-
* Gets the value of the Owner property.
|
|
133
|
-
* property was successfully retrieved.
|
|
139
|
+
* Gets the value of the Owner property.
|
|
134
140
|
*
|
|
135
141
|
* @method OcaWorker#GetOwner
|
|
136
142
|
* @returns {Promise<number>}
|
|
137
143
|
* A promise which resolves to a single value of type ``number``.
|
|
138
144
|
*/
|
|
139
145
|
/**
|
|
140
|
-
* Gets the value of the Latency property.
|
|
141
|
-
* the property was successfully retrieved.
|
|
146
|
+
* Gets the value of the Latency property.
|
|
142
147
|
*
|
|
143
148
|
* @method OcaWorker#GetLatency
|
|
144
149
|
* @returns {Promise<number>}
|
|
145
150
|
* A promise which resolves to a single value of type ``number``.
|
|
146
151
|
*/
|
|
147
152
|
/**
|
|
148
|
-
* Sets the value of the Latency property.
|
|
149
|
-
* the property was successfully set.
|
|
153
|
+
* Sets the value of the Latency property.
|
|
150
154
|
*
|
|
151
155
|
* @method OcaWorker#SetLatency
|
|
152
156
|
* @param {number} latency
|
|
@@ -154,23 +158,65 @@ export const OcaWorker = make_control_class(
|
|
|
154
158
|
* @returns {Promise<void>}
|
|
155
159
|
*/
|
|
156
160
|
/**
|
|
157
|
-
* Returns
|
|
158
|
-
* whether the operation succeeded.
|
|
161
|
+
* Returns Role Path and ONo Path from the Root Block to this object. The return
|
|
162
|
+
* value indicates whether the operation succeeded.
|
|
159
163
|
* The return values of this method are
|
|
160
164
|
*
|
|
161
|
-
* -
|
|
165
|
+
* - RolePath of type ``string[]``
|
|
162
166
|
* - ONoPath of type ``number[]``
|
|
163
167
|
*
|
|
164
168
|
* @method OcaWorker#GetPath
|
|
165
169
|
* @returns {Promise<Arguments<string[],number[]>>}
|
|
166
170
|
*/
|
|
171
|
+
/**
|
|
172
|
+
* Gets the value of the PortClockMap property.
|
|
173
|
+
*
|
|
174
|
+
* @method OcaWorker#GetPortClockMap
|
|
175
|
+
* @returns {Promise<Map<OcaPortID, OcaPortClockMapEntry>>}
|
|
176
|
+
* A promise which resolves to a single value of type ``Map<OcaPortID, OcaPortClockMapEntry>``.
|
|
177
|
+
*/
|
|
178
|
+
/**
|
|
179
|
+
* Sets the value of the PortClockMap property.
|
|
180
|
+
*
|
|
181
|
+
* @method OcaWorker#SetPortClockMap
|
|
182
|
+
* @param {Map<IOcaPortID, IOcaPortClockMapEntry>} Map
|
|
183
|
+
*
|
|
184
|
+
* @returns {Promise<void>}
|
|
185
|
+
*/
|
|
186
|
+
/**
|
|
187
|
+
* Gets the value of the PortClockMap entry identified by the given PortID.
|
|
188
|
+
*
|
|
189
|
+
* @method OcaWorker#GetPortClockMapEntry
|
|
190
|
+
* @param {IOcaPortID} ID
|
|
191
|
+
*
|
|
192
|
+
* @returns {Promise<OcaPortClockMapEntry>}
|
|
193
|
+
* A promise which resolves to a single value of type :class:`OcaPortClockMapEntry`.
|
|
194
|
+
*/
|
|
195
|
+
/**
|
|
196
|
+
* Sets an entry in the PortClockMap property. Adds entry if none already exists
|
|
197
|
+
* for the given port; replaces entry if it does already exist.
|
|
198
|
+
*
|
|
199
|
+
* @method OcaWorker#SetPortClockMapEntry
|
|
200
|
+
* @param {IOcaPortID} PortID
|
|
201
|
+
* @param {IOcaPortClockMapEntry} Entry
|
|
202
|
+
*
|
|
203
|
+
* @returns {Promise<void>}
|
|
204
|
+
*/
|
|
205
|
+
/**
|
|
206
|
+
* Deletes PortClockMap entry identified by the given ID.
|
|
207
|
+
*
|
|
208
|
+
* @method OcaWorker#DeletePortClockMapEntry
|
|
209
|
+
* @param {IOcaPortID} ID
|
|
210
|
+
*
|
|
211
|
+
* @returns {Promise<void>}
|
|
212
|
+
*/
|
|
167
213
|
/**
|
|
168
214
|
* This event is emitted when the property ``Enabled`` changes in the remote object.
|
|
169
215
|
* The property ``Enabled`` is described in the AES70 standard as follows.
|
|
170
216
|
* Read/write property that indicates whether the worker object is enabled in
|
|
171
217
|
* the device. If an object is disabled it cannot be used by the application.
|
|
172
218
|
* Note that the behavior of a disabled object depends on the object itself
|
|
173
|
-
* (e.g. a disabled
|
|
219
|
+
* (e.g. a disabled signal generator is silent, a disabled equalizer is flat,
|
|
174
220
|
* etc.).
|
|
175
221
|
*
|
|
176
222
|
* @member {PropertyEvent<boolean>} OcaWorker#OnEnabledChanged
|
|
@@ -179,7 +225,7 @@ export const OcaWorker = make_control_class(
|
|
|
179
225
|
* This event is emitted when the property ``Ports`` changes in the remote object.
|
|
180
226
|
* The property ``Ports`` is described in the AES70 standard as follows.
|
|
181
227
|
* The list of (input and output) OCA ports the worker object has. Note that a
|
|
182
|
-
* worker object can have no ports
|
|
228
|
+
* worker object can have no ports, in which case the list is empty.
|
|
183
229
|
*
|
|
184
230
|
* @member {PropertyEvent<OcaPort[]>} OcaWorker#OnPortsChanged
|
|
185
231
|
*/
|
|
@@ -191,13 +237,6 @@ export const OcaWorker = make_control_class(
|
|
|
191
237
|
*
|
|
192
238
|
* @member {PropertyEvent<string>} OcaWorker#OnLabelChanged
|
|
193
239
|
*/
|
|
194
|
-
/**
|
|
195
|
-
* This event is emitted when the property ``Owner`` changes in the remote object.
|
|
196
|
-
* The property ``Owner`` is described in the AES70 standard as follows.
|
|
197
|
-
* Object number of block that contains this worker.
|
|
198
|
-
*
|
|
199
|
-
* @member {PropertyEvent<number>} OcaWorker#OnOwnerChanged
|
|
200
|
-
*/
|
|
201
240
|
/**
|
|
202
241
|
* This event is emitted when the property ``Latency`` changes in the remote object.
|
|
203
242
|
* The property ``Latency`` is described in the AES70 standard as follows.
|
|
@@ -206,3 +245,14 @@ export const OcaWorker = make_control_class(
|
|
|
206
245
|
*
|
|
207
246
|
* @member {PropertyEvent<number>} OcaWorker#OnLatencyChanged
|
|
208
247
|
*/
|
|
248
|
+
/**
|
|
249
|
+
* This event is emitted when the property ``PortClockMap`` changes in the remote object.
|
|
250
|
+
* The property ``PortClockMap`` is described in the AES70 standard as follows.
|
|
251
|
+
* **Optional property.** Map that connects OcaMediaClock3 object numbers to
|
|
252
|
+
* input and output OcaPorts and specifies sampling rate converters, if any.
|
|
253
|
+
* OcaPortID = {mode,index}, where mode = Input or Output. Map entries with
|
|
254
|
+
* index=0 are default values, to be used when no entry is found for a given
|
|
255
|
+
* port.
|
|
256
|
+
*
|
|
257
|
+
* @member {PropertyEvent<Map<OcaPortID, OcaPortClockMapEntry>>} OcaWorker#OnPortClockMapChanged
|
|
258
|
+
*/
|
|
@@ -1,5 +1,32 @@
|
|
|
1
1
|
import { OcaEvent } from '../types/OcaEvent.js';
|
|
2
2
|
|
|
3
|
+
class EventSubscriber {
|
|
4
|
+
constructor(callback, error_callback) {
|
|
5
|
+
this.callback = callback;
|
|
6
|
+
this.failure_callback = error_callback;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
emit(ctx, results) {
|
|
10
|
+
try {
|
|
11
|
+
this.callback.apply(ctx, results);
|
|
12
|
+
} catch (error) {
|
|
13
|
+
console.error('Exception thrown by event handler: ', error);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
emit_error(ctx, error) {
|
|
18
|
+
if (this.error_callback) {
|
|
19
|
+
try {
|
|
20
|
+
this.error_callback.call(ctx, error);
|
|
21
|
+
} catch (e) {
|
|
22
|
+
console.error('Exception thrown by error event handler: ', e);
|
|
23
|
+
}
|
|
24
|
+
} else {
|
|
25
|
+
console.warn('No handler for error', error);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
3
30
|
/**
|
|
4
31
|
* Base class for all events.
|
|
5
32
|
*/
|
|
@@ -7,11 +34,28 @@ export class BaseEvent {
|
|
|
7
34
|
constructor(object, id, argumentTypes) {
|
|
8
35
|
this.object = object;
|
|
9
36
|
this.id = id;
|
|
10
|
-
this.
|
|
37
|
+
this.subscribers = [];
|
|
11
38
|
this.result = null;
|
|
12
39
|
this.argumentTypes = argumentTypes;
|
|
13
40
|
}
|
|
14
41
|
|
|
42
|
+
has_subscribers() {
|
|
43
|
+
return this.subscribers.length > 0;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
emit(results) {
|
|
47
|
+
this.subscribers.forEach((subscriber) => {
|
|
48
|
+
subscriber.emit(this.object, results);
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
emit_error(error) {
|
|
53
|
+
this.subscribers.forEach((subscriber) => {
|
|
54
|
+
subscriber.emit_error(this.object, error);
|
|
55
|
+
});
|
|
56
|
+
this.subscribers.splice(0, this.subscribers.length);
|
|
57
|
+
}
|
|
58
|
+
|
|
15
59
|
GetOcaEvent() {
|
|
16
60
|
return new OcaEvent(this.object.ObjectNumber, this.id);
|
|
17
61
|
}
|
|
@@ -19,42 +63,46 @@ export class BaseEvent {
|
|
|
19
63
|
do_subscribe() {}
|
|
20
64
|
do_unsubscribe() {}
|
|
21
65
|
|
|
66
|
+
_remove_subscriber(index) {
|
|
67
|
+
this.subscribers.splice(index, 1);
|
|
68
|
+
|
|
69
|
+
if (!this.subscribers.length) this.do_unsubscribe();
|
|
70
|
+
}
|
|
71
|
+
|
|
22
72
|
/**
|
|
23
73
|
* Subscribe to this event.
|
|
24
74
|
* @param {function} callback
|
|
25
75
|
*/
|
|
26
|
-
subscribe(callback) {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
if (this.handlers.size === 1)
|
|
30
|
-
return (this.result = this.do_subscribe().then(() => {
|
|
31
|
-
this.result = null;
|
|
32
|
-
return true;
|
|
33
|
-
}));
|
|
76
|
+
subscribe(callback, failure_callback) {
|
|
77
|
+
const subscriber = new EventSubscriber(callback, failure_callback);
|
|
78
|
+
this.subscribers.push(subscriber);
|
|
34
79
|
|
|
35
|
-
if (this.
|
|
80
|
+
if (this.subscribers.length === 1) {
|
|
81
|
+
this.do_subscribe();
|
|
82
|
+
}
|
|
36
83
|
|
|
37
|
-
return
|
|
84
|
+
return () => {
|
|
85
|
+
const index = this.subscribers.indexOf(subscriber);
|
|
86
|
+
if (index === -1) return;
|
|
87
|
+
this._remove_subscriber(index);
|
|
88
|
+
};
|
|
38
89
|
}
|
|
39
90
|
|
|
40
91
|
/**
|
|
41
92
|
* Unsubscribe from this event.
|
|
42
93
|
* @param {function} callback
|
|
94
|
+
* @deprecated Use the cleanup handler returned from
|
|
95
|
+
* subscriber() instead.
|
|
43
96
|
*/
|
|
44
97
|
unsubscribe(callback) {
|
|
45
|
-
this.
|
|
98
|
+
const index = this.subscribers.findIndex(
|
|
99
|
+
(subscriber) => subscriber.callback == callback
|
|
100
|
+
);
|
|
46
101
|
|
|
47
|
-
if (
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* Unsubscribe all event handlers.
|
|
54
|
-
*/
|
|
55
|
-
Dipose() {
|
|
56
|
-
if (this.handlers.size) this.do_unsubscribe().catch(function () {});
|
|
102
|
+
if (index === -1) {
|
|
103
|
+
throw new Error('Subscriber does not exist.');
|
|
104
|
+
}
|
|
57
105
|
|
|
58
|
-
this.
|
|
106
|
+
this._remove_subscriber(index);
|
|
59
107
|
}
|
|
60
108
|
}
|
|
@@ -2,6 +2,32 @@ import { IConnectionOptions, Connection } from '../connection';
|
|
|
2
2
|
|
|
3
3
|
export type IClientConnectionOptions = IConnectionOptions;
|
|
4
4
|
|
|
5
|
+
export interface PendingCommand {
|
|
6
|
+
/**
|
|
7
|
+
* Name of the method being called. The format is
|
|
8
|
+
* Class.Method.
|
|
9
|
+
*/
|
|
10
|
+
name: string;
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* If stack debug was enabled on the corresponding
|
|
14
|
+
* RemoteDevice, this property contains the stack
|
|
15
|
+
* where the method was called from.
|
|
16
|
+
*/
|
|
17
|
+
stack: Error['stack'] | null;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The command pdu.
|
|
21
|
+
*/
|
|
22
|
+
command: unknown;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* If available, returns the arguments of this
|
|
26
|
+
* remote method call.
|
|
27
|
+
*/
|
|
28
|
+
get_arguments(): unknwon[] | undefined;
|
|
29
|
+
}
|
|
30
|
+
|
|
5
31
|
/**
|
|
6
32
|
* A generic base class for all client connections.
|
|
7
33
|
*/
|
|
@@ -1,26 +1,38 @@
|
|
|
1
1
|
import { RemoteError } from './remote_error.js';
|
|
2
2
|
import { Connection } from '../connection.js';
|
|
3
3
|
import { Response } from '../OCP1/response.js';
|
|
4
|
+
import { CommandRrq } from '../OCP1/commandrrq.js';
|
|
4
5
|
import { KeepAlive } from '../OCP1/keepalive.js';
|
|
5
6
|
import { Notification } from '../OCP1/notification.js';
|
|
7
|
+
import { Notification2 } from '../OCP1/notification2.js';
|
|
6
8
|
import { Arguments } from './arguments.js';
|
|
7
9
|
import { OcaStatus } from '../types/OcaStatus.js';
|
|
10
|
+
import { EncodedArguments } from '../OCP1/encoded_arguments.js';
|
|
8
11
|
|
|
9
12
|
class PendingCommand {
|
|
10
13
|
get handle() {
|
|
11
14
|
return this.command.handle;
|
|
12
15
|
}
|
|
13
16
|
|
|
14
|
-
constructor(resolve, reject, returnTypes, command, stack) {
|
|
17
|
+
constructor(resolve, reject, returnTypes, command, stack, name) {
|
|
15
18
|
this.resolve = resolve;
|
|
16
19
|
this.reject = reject;
|
|
17
20
|
this.returnTypes = returnTypes;
|
|
18
21
|
this.command = command;
|
|
19
22
|
this.stack = stack;
|
|
23
|
+
this.name = name;
|
|
20
24
|
this.lastSent = 0;
|
|
21
25
|
this.retries = 0;
|
|
22
26
|
}
|
|
23
27
|
|
|
28
|
+
get_arguments() {
|
|
29
|
+
const parameters = this.command.parameters;
|
|
30
|
+
|
|
31
|
+
if (parameters && parameters instanceof EncodedArguments) {
|
|
32
|
+
return parameters.data;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
24
36
|
handleError(error) {
|
|
25
37
|
if (this.stack && error instanceof Error) error.stack = this.stack;
|
|
26
38
|
this.reject(error);
|
|
@@ -82,14 +94,19 @@ export class ClientConnection extends Connection {
|
|
|
82
94
|
|
|
83
95
|
cleanup() {
|
|
84
96
|
super.cleanup();
|
|
97
|
+
const subscribers = this._subscribers;
|
|
85
98
|
this._subscribers = null;
|
|
86
|
-
|
|
87
99
|
const pendingCommands = this._pendingCommands;
|
|
88
100
|
this._pendingCommands = null;
|
|
101
|
+
|
|
89
102
|
const e = new Error('closed');
|
|
90
103
|
pendingCommands.forEach((pendingCommand, id) => {
|
|
91
104
|
pendingCommand.handleError(structuredClone(e));
|
|
92
105
|
});
|
|
106
|
+
|
|
107
|
+
subscribers.forEach((cb) => {
|
|
108
|
+
cb(false, e);
|
|
109
|
+
});
|
|
93
110
|
}
|
|
94
111
|
|
|
95
112
|
_addSubscriber(event, callback) {
|
|
@@ -102,6 +119,7 @@ export class ClientConnection extends Connection {
|
|
|
102
119
|
}
|
|
103
120
|
|
|
104
121
|
_removeSubscriber(event) {
|
|
122
|
+
if (this.is_closed()) return;
|
|
105
123
|
const key = eventToKey(event);
|
|
106
124
|
const subscribers = this._subscribers;
|
|
107
125
|
|
|
@@ -130,7 +148,19 @@ export class ClientConnection extends Connection {
|
|
|
130
148
|
return this._now();
|
|
131
149
|
}
|
|
132
150
|
|
|
133
|
-
|
|
151
|
+
find_pending_command(pdu) {
|
|
152
|
+
const pendingCommands = this._pendingCommands;
|
|
153
|
+
|
|
154
|
+
if (pdu instanceof CommandRrq) {
|
|
155
|
+
return pendingCommands.get(pdu.handle);
|
|
156
|
+
} else if (pdu instanceof Response) {
|
|
157
|
+
return pendingCommands.get(pdu.handle);
|
|
158
|
+
} else {
|
|
159
|
+
throw new Error(`Expected command or response.`);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
send_command(command, returnTypes, callback, stack, name) {
|
|
134
164
|
const executor = (resolve, reject) => {
|
|
135
165
|
const handle = this._getNextCommandHandle();
|
|
136
166
|
|
|
@@ -141,7 +171,8 @@ export class ClientConnection extends Connection {
|
|
|
141
171
|
reject,
|
|
142
172
|
returnTypes,
|
|
143
173
|
command,
|
|
144
|
-
stack
|
|
174
|
+
stack,
|
|
175
|
+
name
|
|
145
176
|
);
|
|
146
177
|
|
|
147
178
|
this._pendingCommands.set(handle, pendingCommand);
|
|
@@ -179,7 +210,7 @@ export class ClientConnection extends Connection {
|
|
|
179
210
|
}
|
|
180
211
|
|
|
181
212
|
const o = pdus[i];
|
|
182
|
-
|
|
213
|
+
this.emit('receive', o);
|
|
183
214
|
if (o instanceof Response) {
|
|
184
215
|
const pendingCommand = this._removePendingCommand(o.handle);
|
|
185
216
|
|
|
@@ -193,7 +224,7 @@ export class ClientConnection extends Connection {
|
|
|
193
224
|
}
|
|
194
225
|
|
|
195
226
|
pendingCommand.response(o);
|
|
196
|
-
} else if (o instanceof Notification) {
|
|
227
|
+
} else if (o instanceof Notification || o instanceof Notification2) {
|
|
197
228
|
const subscribers = this._subscribers;
|
|
198
229
|
const key = eventToKey(o.event);
|
|
199
230
|
|
|
@@ -202,8 +233,9 @@ export class ClientConnection extends Connection {
|
|
|
202
233
|
if (!cb) {
|
|
203
234
|
// NOTE: this is legal
|
|
204
235
|
continue;
|
|
236
|
+
} else {
|
|
237
|
+
cb(true, o);
|
|
205
238
|
}
|
|
206
|
-
cb(o);
|
|
207
239
|
} else if (o instanceof KeepAlive) {
|
|
208
240
|
if (!(o.time > 0)) {
|
|
209
241
|
throw new Error('Bad keepalive timeout.');
|
package/src/controller/event.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseEvent } from './base_event.js';
|
|
2
|
-
import {
|
|
2
|
+
import { NotificationError } from './notification_error.js';
|
|
3
3
|
|
|
4
4
|
const emptyBuffer = new ArrayBuffer();
|
|
5
5
|
|
|
@@ -11,8 +11,18 @@ const emptyBuffer = new ArrayBuffer();
|
|
|
11
11
|
export class Event extends BaseEvent {
|
|
12
12
|
constructor(object, id, argumentTypes) {
|
|
13
13
|
super(object, id, argumentTypes);
|
|
14
|
-
this.callback = (notification) => {
|
|
15
|
-
if (!
|
|
14
|
+
this.callback = (ok, notification) => {
|
|
15
|
+
if (!ok) {
|
|
16
|
+
this.emit_error(notification);
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
if (!this.has_subscribers()) return;
|
|
21
|
+
|
|
22
|
+
if (notification.exception) {
|
|
23
|
+
this.emit_error(new NotificationError(notification));
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
16
26
|
|
|
17
27
|
const args = new Array(argumentTypes.length);
|
|
18
28
|
// Events without arguments have parameters = null
|
|
@@ -23,28 +33,15 @@ export class Event extends BaseEvent {
|
|
|
23
33
|
[pos, tmp] = argumentTypes[i].decodeFrom(data, pos);
|
|
24
34
|
args[i] = tmp;
|
|
25
35
|
}
|
|
26
|
-
|
|
27
|
-
this.handlers.forEach(function (callback) {
|
|
28
|
-
try {
|
|
29
|
-
callback.apply(object, args);
|
|
30
|
-
} catch (e) {
|
|
31
|
-
error(e);
|
|
32
|
-
}
|
|
33
|
-
});
|
|
36
|
+
this.emit(args);
|
|
34
37
|
};
|
|
35
38
|
}
|
|
36
39
|
|
|
37
40
|
do_subscribe() {
|
|
38
|
-
|
|
39
|
-
this.GetOcaEvent(),
|
|
40
|
-
this.callback
|
|
41
|
-
);
|
|
41
|
+
this.object.device.add_subscription(this.GetOcaEvent(), this.callback);
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
do_unsubscribe(
|
|
45
|
-
|
|
46
|
-
this.GetOcaEvent(),
|
|
47
|
-
this.callback
|
|
48
|
-
);
|
|
44
|
+
do_unsubscribe() {
|
|
45
|
+
this.object.device.remove_subscription(this.GetOcaEvent(), this.callback);
|
|
49
46
|
}
|
|
50
47
|
}
|
|
@@ -58,6 +58,8 @@ function implement_method(cls, method) {
|
|
|
58
58
|
|
|
59
59
|
const [name, level, index, argumentTypes, returnTypes, aliases] = method;
|
|
60
60
|
|
|
61
|
+
const debugName = `${cls.ClassName}.${name}`;
|
|
62
|
+
|
|
61
63
|
cls.prototype[name] = function (...args) {
|
|
62
64
|
const argumentCount = argumentTypes.length;
|
|
63
65
|
let callback = null;
|
|
@@ -86,7 +88,7 @@ function implement_method(cls, method) {
|
|
|
86
88
|
argumentCount,
|
|
87
89
|
new EncodedArguments(argumentTypes, args)
|
|
88
90
|
);
|
|
89
|
-
return this.device.send_command(cmd, returnTypes, callback);
|
|
91
|
+
return this.device.send_command(cmd, returnTypes, callback, debugName);
|
|
90
92
|
};
|
|
91
93
|
|
|
92
94
|
if (aliases) {
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export class OcaNotificationExceptionType {
|
|
2
|
+
static Unspecified: OcaNotificationExceptionType;
|
|
3
|
+
// Device canceled subscription
|
|
4
|
+
static CanceledByDevice: OcaNotificationExceptionType;
|
|
5
|
+
// Object was deleted
|
|
6
|
+
static ObjectDeleted: OcaNotificationExceptionType;
|
|
7
|
+
// Something went wrong in the Device.
|
|
8
|
+
static DeviceError: OcaNotificationExceptionType;
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Returns the numeric value of this enum entry.
|
|
12
|
+
*/
|
|
13
|
+
valueOf(): number;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Returns the string representation of this enum entry.
|
|
17
|
+
*/
|
|
18
|
+
toString(): string;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Returns the name of an enum entry.
|
|
22
|
+
*/
|
|
23
|
+
static getName(value: number): string;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Returns the value of an enum entry name.
|
|
27
|
+
*/
|
|
28
|
+
static getValue(name: string): number;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export declare class NotificationError extends Error {
|
|
32
|
+
notification: unknown;
|
|
33
|
+
type: OcaNotificationExceptionType;
|
|
34
|
+
try_again: boolean;
|
|
35
|
+
data: ArrayBuffer | null;
|
|
36
|
+
|
|
37
|
+
constructor(notification: unknown);
|
|
38
|
+
|
|
39
|
+
is_object_deleted(): boolean;
|
|
40
|
+
}
|