aes70 1.6.1 → 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 +24520 -1
- 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/controller/tcp_connection.d.ts +8 -6
- 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
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { createType } from './createType.js';
|
|
2
|
+
import { OcaVariant as OcaVariantType } from '../types/OcaVariant.js';
|
|
3
|
+
|
|
4
|
+
export function OcaVariant(...Types) {
|
|
5
|
+
const canEncode = function (value) {
|
|
6
|
+
if (typeof value === 'object' && value instanceof OcaVariantType) {
|
|
7
|
+
return Types[value.Index].canEncode(value.Value);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
for (const type of Types) {
|
|
11
|
+
if (type.canEncode(value)) return true;
|
|
12
|
+
}
|
|
13
|
+
return false;
|
|
14
|
+
};
|
|
15
|
+
const encodeTo = function (dataView, pos, value) {
|
|
16
|
+
if (typeof value === 'object' && value instanceof OcaVariantType) {
|
|
17
|
+
dataView.setUint8(pos++, value.Index);
|
|
18
|
+
return Types[value.Index].encodeTo(dataView, pos, value.Value);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
for (let i = 0; i < Types.length; i++) {
|
|
22
|
+
const type = Types[i];
|
|
23
|
+
|
|
24
|
+
if (!type.canEncode(value)) continue;
|
|
25
|
+
dataView.setUint8(pos++, i);
|
|
26
|
+
return type.encodeTo(dataView, pos, value);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
throw new TypeError('Cannot encode argument.');
|
|
30
|
+
};
|
|
31
|
+
const decodeFrom = function (dataView, pos) {
|
|
32
|
+
const index = dataView.getUint8(pos++);
|
|
33
|
+
const type = Types[index];
|
|
34
|
+
|
|
35
|
+
const tmp = type.decodeFrom(dataView, pos);
|
|
36
|
+
|
|
37
|
+
tmp[1] = new OcaVariantType(index, tmp[1]);
|
|
38
|
+
|
|
39
|
+
return tmp;
|
|
40
|
+
};
|
|
41
|
+
const decodeLength = function (dataView, pos) {
|
|
42
|
+
const index = dataView.getUint8(pos);
|
|
43
|
+
|
|
44
|
+
if (index >= Types.length) {
|
|
45
|
+
throw new Error('OcaVariant index out of bounds.');
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
const type = Types[index];
|
|
49
|
+
|
|
50
|
+
return type.decodeLength(dataView, pos + 1) + 1;
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
const isConstantLength = Types.every((type) => type.isConstantLength);
|
|
54
|
+
|
|
55
|
+
if (isConstantLength) {
|
|
56
|
+
const encodedLengths = Types.map((type) => type.encodedLength());
|
|
57
|
+
|
|
58
|
+
if (encodedLengths.every((length) => length === encodedLengths[0])) {
|
|
59
|
+
return createType({
|
|
60
|
+
isConstantLength: true,
|
|
61
|
+
encodedLength: function (value) {
|
|
62
|
+
return encodedLengths[0] + 1;
|
|
63
|
+
},
|
|
64
|
+
canEncode,
|
|
65
|
+
encodeTo,
|
|
66
|
+
decodeFrom,
|
|
67
|
+
decodeLength,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
return createType({
|
|
73
|
+
isConstantLength: false,
|
|
74
|
+
encodedLength: function (value) {
|
|
75
|
+
if (typeof value === 'object' && value instanceof OcaVariantType) {
|
|
76
|
+
return Types[value.Index].encodedLength(value.Value) + 1;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
for (const type of Types) {
|
|
80
|
+
if (type.canEncode(value)) {
|
|
81
|
+
return 1 + type.encodedLength(value);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
throw new TypeError('Cannot encode argument.');
|
|
86
|
+
},
|
|
87
|
+
canEncode,
|
|
88
|
+
encodeTo,
|
|
89
|
+
decodeFrom,
|
|
90
|
+
decodeLength,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This file has been generated.
|
|
3
|
+
*/
|
|
4
|
+
import { OcaTime } from './OcaTime.js';
|
|
5
|
+
import { OcaUint32 } from './OcaUint32.js';
|
|
6
|
+
import { Struct } from './Struct.js';
|
|
7
|
+
|
|
8
|
+
import { OcaWhenPhysicalAbsolute as type } from '../types/OcaWhenPhysicalAbsolute.js';
|
|
9
|
+
|
|
10
|
+
export const OcaWhenPhysicalAbsolute = Struct(
|
|
11
|
+
{
|
|
12
|
+
TimeRefONo: OcaUint32,
|
|
13
|
+
Value: OcaTime,
|
|
14
|
+
},
|
|
15
|
+
type
|
|
16
|
+
);
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This file has been generated.
|
|
3
|
+
*/
|
|
4
|
+
import { OcaTime } from './OcaTime.js';
|
|
5
|
+
import { OcaUint32 } from './OcaUint32.js';
|
|
6
|
+
import { Struct } from './Struct.js';
|
|
7
|
+
|
|
8
|
+
import { OcaWhenPhysicalRelative as type } from '../types/OcaWhenPhysicalRelative.js';
|
|
9
|
+
|
|
10
|
+
export const OcaWhenPhysicalRelative = Struct(
|
|
11
|
+
{
|
|
12
|
+
TimeRefONo: OcaUint32,
|
|
13
|
+
Value: OcaTime,
|
|
14
|
+
},
|
|
15
|
+
type
|
|
16
|
+
);
|
|
@@ -3,6 +3,9 @@ import { createType } from './createType.js';
|
|
|
3
3
|
export function RestWithOffset(offset) {
|
|
4
4
|
return createType({
|
|
5
5
|
isConstantLength: false,
|
|
6
|
+
canEncode: function (value) {
|
|
7
|
+
return typeof value === 'object' && value instanceof DataView;
|
|
8
|
+
},
|
|
6
9
|
encodedLength: function (value) {
|
|
7
10
|
if (!(typeof value === 'object' && value instanceof DataView))
|
|
8
11
|
throw new TypeError('Expected DataView.');
|
package/src/OCP1/String16.js
CHANGED
|
@@ -2,6 +2,9 @@ import { createType } from './createType.js';
|
|
|
2
2
|
|
|
3
3
|
export const String16 = createType({
|
|
4
4
|
isConstantLength: false,
|
|
5
|
+
canEncode: function (value) {
|
|
6
|
+
return typeof value === 'string';
|
|
7
|
+
},
|
|
5
8
|
encodedLength: function (value) {
|
|
6
9
|
// TODO: we could support more than strings
|
|
7
10
|
if (typeof value !== 'string') throw new TypeError('Expected string.');
|
package/src/OCP1/Struct.js
CHANGED
|
@@ -28,6 +28,18 @@ export function Struct(Types, DataType) {
|
|
|
28
28
|
return createType({
|
|
29
29
|
type: DataType,
|
|
30
30
|
isConstantLength: false,
|
|
31
|
+
canEncode: function (value) {
|
|
32
|
+
if (typeof value !== 'object') return false;
|
|
33
|
+
|
|
34
|
+
for (const name in Types) {
|
|
35
|
+
if (!Object.prototype.hasOwnProperty.call(Types, name)) continue;
|
|
36
|
+
const Type = Types[name];
|
|
37
|
+
|
|
38
|
+
if (!Type.canEncode(value[name])) return false;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return true;
|
|
42
|
+
},
|
|
31
43
|
encodedLength: function (value) {
|
|
32
44
|
let result = 0;
|
|
33
45
|
|
package/src/OCP1/Tuple.js
CHANGED
|
@@ -6,6 +6,9 @@ export function Tuple(...Types) {
|
|
|
6
6
|
|
|
7
7
|
return createType({
|
|
8
8
|
isConstantLength: false,
|
|
9
|
+
canEncode: function (value) {
|
|
10
|
+
return Array.isArray(value) || isTypedArray(value);
|
|
11
|
+
},
|
|
9
12
|
encodedLength: function (value) {
|
|
10
13
|
if (!(Array.isArray(value) || isTypedArray(value)))
|
|
11
14
|
throw new TypeError('Expected array.');
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { createType } from './createType.js';
|
|
2
|
+
import { getLengthEncoder } from './getLengthEncoder.js';
|
|
3
|
+
|
|
4
|
+
export function createBlobType(byteLength) {
|
|
5
|
+
const { setLength, getLength, maxLength } = getLengthEncoder(byteLength);
|
|
6
|
+
|
|
7
|
+
return createType({
|
|
8
|
+
isConstantLength: false,
|
|
9
|
+
canEncode: function (value) {
|
|
10
|
+
if (typeof value !== 'object') return false;
|
|
11
|
+
|
|
12
|
+
return (
|
|
13
|
+
value instanceof ArrayBuffer ||
|
|
14
|
+
value instanceof Uint8Array ||
|
|
15
|
+
Array.isArray(value)
|
|
16
|
+
);
|
|
17
|
+
},
|
|
18
|
+
encodedLength: function (value) {
|
|
19
|
+
if (value instanceof ArrayBuffer) value = new Uint8Array(value);
|
|
20
|
+
if (!Array.isArray(value) && !(value instanceof Uint8Array))
|
|
21
|
+
throw new TypeError('Expected Array or Uint8Array');
|
|
22
|
+
|
|
23
|
+
const length = value.length;
|
|
24
|
+
|
|
25
|
+
if (length > maxLength)
|
|
26
|
+
throw new Error('Array too long for OCP.1 encoding.');
|
|
27
|
+
|
|
28
|
+
return byteLength + length;
|
|
29
|
+
},
|
|
30
|
+
encodeTo: function (dataView, pos, value) {
|
|
31
|
+
if (value instanceof ArrayBuffer) value = new Uint8Array(value);
|
|
32
|
+
|
|
33
|
+
const length = value.length;
|
|
34
|
+
|
|
35
|
+
setLength(dataView, pos, length);
|
|
36
|
+
pos += byteLength;
|
|
37
|
+
|
|
38
|
+
const u8 = new Uint8Array(dataView.buffer, dataView.byteOffset);
|
|
39
|
+
u8.set(value, pos);
|
|
40
|
+
return pos + length;
|
|
41
|
+
},
|
|
42
|
+
decodeFrom: function (dataView, pos) {
|
|
43
|
+
const length = getLength(dataView, pos);
|
|
44
|
+
|
|
45
|
+
pos += byteLength;
|
|
46
|
+
|
|
47
|
+
return [
|
|
48
|
+
pos + length,
|
|
49
|
+
new Uint8Array(dataView.buffer, dataView.byteOffset + pos, length),
|
|
50
|
+
];
|
|
51
|
+
},
|
|
52
|
+
decodeLength: function (dataView, pos) {
|
|
53
|
+
const length = getLength(dataView, pos);
|
|
54
|
+
|
|
55
|
+
return pos + byteLength + length;
|
|
56
|
+
},
|
|
57
|
+
});
|
|
58
|
+
}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { createType } from './createType.js';
|
|
2
|
+
import { isTypedArray } from './is_typed_array.js';
|
|
3
|
+
import { getLengthEncoder } from './getLengthEncoder.js';
|
|
4
|
+
|
|
5
|
+
function canEncode(value) {
|
|
6
|
+
return Array.isArray(value) || isTypedArray(value);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
function OcaListConstantLength(Type, byteLength) {
|
|
10
|
+
const encodedLength = Type.encodedLength(void 0);
|
|
11
|
+
const encodeTo = Type.encodeTo;
|
|
12
|
+
const decode = Type.decode;
|
|
13
|
+
const { setLength, getLength, maxLength } = getLengthEncoder(byteLength);
|
|
14
|
+
|
|
15
|
+
return createType({
|
|
16
|
+
isConstantLength: false,
|
|
17
|
+
canEncode,
|
|
18
|
+
encodedLength: function (value) {
|
|
19
|
+
if (!canEncode(value)) throw new TypeError('Expected array.');
|
|
20
|
+
|
|
21
|
+
const length = value.length;
|
|
22
|
+
|
|
23
|
+
if (length > maxLength)
|
|
24
|
+
throw new Error('Array too long for OcaList OCP.1 encoding');
|
|
25
|
+
|
|
26
|
+
return byteLength + length * encodedLength;
|
|
27
|
+
},
|
|
28
|
+
encodeTo: function (dataView, pos, value) {
|
|
29
|
+
const length = value.length;
|
|
30
|
+
|
|
31
|
+
setLength(dataView, pos, length);
|
|
32
|
+
pos += byteLength;
|
|
33
|
+
|
|
34
|
+
for (let i = 0; i < length; i++) {
|
|
35
|
+
pos = encodeTo(dataView, pos, value[i]);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
return pos;
|
|
39
|
+
},
|
|
40
|
+
decodeFrom: function (dataView, pos) {
|
|
41
|
+
const length = getLength(dataView, pos);
|
|
42
|
+
|
|
43
|
+
pos += byteLength;
|
|
44
|
+
|
|
45
|
+
const value = new Array(length);
|
|
46
|
+
|
|
47
|
+
for (let i = 0; i < length; i++) {
|
|
48
|
+
value[i] = decode(dataView, pos);
|
|
49
|
+
pos += encodedLength;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
return [pos, value];
|
|
53
|
+
},
|
|
54
|
+
decodeLength: function (dataView, pos) {
|
|
55
|
+
const length = getLength(dataView, pos);
|
|
56
|
+
|
|
57
|
+
pos += byteLength + length * encodedLength;
|
|
58
|
+
|
|
59
|
+
return pos;
|
|
60
|
+
},
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
function OcaListDynamicLength(Type, byteLength) {
|
|
65
|
+
const encodedLength = Type.encodedLength;
|
|
66
|
+
const encodeTo = Type.encodeTo;
|
|
67
|
+
const decodeFrom = Type.decodeFrom;
|
|
68
|
+
const decodeLength = Type.decodeLength;
|
|
69
|
+
const { setLength, getLength, maxLength } = getLengthEncoder(byteLength);
|
|
70
|
+
|
|
71
|
+
return createType({
|
|
72
|
+
isConstantLength: false,
|
|
73
|
+
canEncode,
|
|
74
|
+
encodedLength: function (value) {
|
|
75
|
+
if (!canEncode(value)) throw new TypeError('Expected array.');
|
|
76
|
+
|
|
77
|
+
const length = value.length;
|
|
78
|
+
|
|
79
|
+
if (length > maxLength)
|
|
80
|
+
throw new Error('Array too long for OcaList OCP.1 encoding');
|
|
81
|
+
|
|
82
|
+
let result = byteLength;
|
|
83
|
+
for (let i = 0; i < length; i++) {
|
|
84
|
+
result += encodedLength(value[i]);
|
|
85
|
+
}
|
|
86
|
+
return result;
|
|
87
|
+
},
|
|
88
|
+
encodeTo: function (dataView, pos, value) {
|
|
89
|
+
const length = value.length;
|
|
90
|
+
|
|
91
|
+
setLength(dataView, pos, length);
|
|
92
|
+
pos += byteLength;
|
|
93
|
+
|
|
94
|
+
for (let i = 0; i < length; i++) {
|
|
95
|
+
pos = encodeTo(dataView, pos, value[i]);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
return pos;
|
|
99
|
+
},
|
|
100
|
+
decodeFrom: function (dataView, pos) {
|
|
101
|
+
const length = getLength(dataView, pos);
|
|
102
|
+
|
|
103
|
+
pos += byteLength;
|
|
104
|
+
|
|
105
|
+
const value = new Array(length);
|
|
106
|
+
|
|
107
|
+
for (let i = 0; i < length; i++) {
|
|
108
|
+
let tmp;
|
|
109
|
+
|
|
110
|
+
[pos, tmp] = decodeFrom(dataView, pos);
|
|
111
|
+
|
|
112
|
+
value[i] = tmp;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
return [pos, value];
|
|
116
|
+
},
|
|
117
|
+
decodeLength: function (dataView, pos) {
|
|
118
|
+
const length = getLength(dataView, pos);
|
|
119
|
+
|
|
120
|
+
pos += byteLength;
|
|
121
|
+
|
|
122
|
+
for (let i = 0; i < length; i++) {
|
|
123
|
+
pos = decodeLength(dataView, pos);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
return pos;
|
|
127
|
+
},
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
export function createListType(byteLength) {
|
|
132
|
+
return function (Type) {
|
|
133
|
+
return Type.isConstantLength
|
|
134
|
+
? OcaListConstantLength(Type, byteLength)
|
|
135
|
+
: OcaListDynamicLength(Type, byteLength);
|
|
136
|
+
};
|
|
137
|
+
}
|
package/src/OCP1/createType.js
CHANGED
|
@@ -4,17 +4,21 @@ export function createType(Type) {
|
|
|
4
4
|
const encodedLength = Type.encodedLength();
|
|
5
5
|
const decode = Type.decode;
|
|
6
6
|
const encodeTo = Type.encodeTo;
|
|
7
|
+
const decodeFrom = Type.decodeFrom;
|
|
7
8
|
|
|
8
9
|
return {
|
|
9
10
|
isConstantLength: true,
|
|
11
|
+
canEncode: Type.canEncode,
|
|
10
12
|
encodedLength: Type.encodedLength,
|
|
11
13
|
encodeTo: encodeTo,
|
|
12
14
|
decode: decode,
|
|
13
|
-
decodeFrom:
|
|
14
|
-
|
|
15
|
+
decodeFrom: decode
|
|
16
|
+
? function (dataView, pos) {
|
|
17
|
+
const result = decode(dataView, pos);
|
|
15
18
|
|
|
16
|
-
|
|
17
|
-
|
|
19
|
+
return [pos + encodedLength, result];
|
|
20
|
+
}
|
|
21
|
+
: decodeFrom,
|
|
18
22
|
decodeLength: function (dataView, pos) {
|
|
19
23
|
return pos + encodedLength;
|
|
20
24
|
},
|
|
@@ -3,8 +3,16 @@ import { CommandRrq } from './commandrrq.js';
|
|
|
3
3
|
import { Notification } from './notification.js';
|
|
4
4
|
import { Response } from './response.js';
|
|
5
5
|
import { KeepAlive } from './keepalive.js';
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
import { Notification2 } from './notification2.js';
|
|
7
|
+
|
|
8
|
+
const PDUTypes = [
|
|
9
|
+
Command,
|
|
10
|
+
CommandRrq,
|
|
11
|
+
Notification,
|
|
12
|
+
Response,
|
|
13
|
+
KeepAlive,
|
|
14
|
+
Notification2,
|
|
15
|
+
];
|
|
8
16
|
|
|
9
17
|
export function decodeMessage(data, pos, ret) {
|
|
10
18
|
if (data.byteLength < data.byteOffset + pos + 10) return -1;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { PROTOCOL_VERSION_2024 } from './protocol_version.js';
|
|
2
|
+
|
|
1
3
|
export const messageHeaderSize = 10;
|
|
2
4
|
|
|
3
5
|
function calculateMessageLength(pdus) {
|
|
@@ -14,6 +16,8 @@ function calculateMessageLength(pdus) {
|
|
|
14
16
|
return len;
|
|
15
17
|
}
|
|
16
18
|
|
|
19
|
+
export const currentProtocolVersion = PROTOCOL_VERSION_2024;
|
|
20
|
+
|
|
17
21
|
export function encodeMessageTo(dst, pos, pdus, offset, end) {
|
|
18
22
|
if (!offset) offset = 0;
|
|
19
23
|
|
|
@@ -28,7 +32,7 @@ export function encodeMessageTo(dst, pos, pdus, offset, end) {
|
|
|
28
32
|
|
|
29
33
|
const startPos = pos;
|
|
30
34
|
|
|
31
|
-
dst.setUint16(pos,
|
|
35
|
+
dst.setUint16(pos, currentProtocolVersion);
|
|
32
36
|
pos += 2;
|
|
33
37
|
const lenPos = pos;
|
|
34
38
|
pos += 4;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export function getLengthEncoder(byteLength) {
|
|
2
|
+
let setLength, getLength, maxLength;
|
|
3
|
+
|
|
4
|
+
if (byteLength === 2) {
|
|
5
|
+
setLength = function (dataView, pos, length) {
|
|
6
|
+
return dataView.setUint16(pos, length);
|
|
7
|
+
};
|
|
8
|
+
getLength = function (dataView, pos, length) {
|
|
9
|
+
return dataView.getUint16(pos);
|
|
10
|
+
};
|
|
11
|
+
maxLength = 0xffff;
|
|
12
|
+
} else if (byteLength === 4) {
|
|
13
|
+
setLength = function (dataView, pos, length) {
|
|
14
|
+
return dataView.setUint32(pos, length);
|
|
15
|
+
};
|
|
16
|
+
getLength = function (dataView, pos, length) {
|
|
17
|
+
return dataView.getUint32(pos);
|
|
18
|
+
};
|
|
19
|
+
maxLength = 0xffffffff;
|
|
20
|
+
} else throw new TypeError('Unsupported length size.');
|
|
21
|
+
|
|
22
|
+
return { getLength, setLength, maxLength };
|
|
23
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { PDU } from './pdu.js';
|
|
2
|
+
import { OcaEvent } from './OcaEvent.js';
|
|
3
|
+
import { EncodedArguments } from './encoded_arguments.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Notification packet.
|
|
7
|
+
*/
|
|
8
|
+
export class Notification2 extends PDU {
|
|
9
|
+
constructor(event, exception, data) {
|
|
10
|
+
super();
|
|
11
|
+
this.event = event;
|
|
12
|
+
this.exception = !!exception;
|
|
13
|
+
this.parameters = data || null;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
static get messageType() {
|
|
17
|
+
return 5;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
encode_to(dst, pos) {
|
|
21
|
+
dst.setUint32(pos, this.encoded_length());
|
|
22
|
+
pos += 4;
|
|
23
|
+
dst.setUint32(pos, this.event.EmitterONo);
|
|
24
|
+
pos += 4;
|
|
25
|
+
dst.setUint16(pos, this.event.EventID.DefLevel);
|
|
26
|
+
pos += 2;
|
|
27
|
+
dst.setUint16(pos, this.event.EventID.EventIndex);
|
|
28
|
+
pos += 2;
|
|
29
|
+
dst.setUint8(pos, this.exception ? 1 : 0);
|
|
30
|
+
pos += 1;
|
|
31
|
+
if (this.parameters) {
|
|
32
|
+
if (this.parameters instanceof EncodedArguments) {
|
|
33
|
+
pos = this.parameters.encodeTo(dst, pos);
|
|
34
|
+
} else {
|
|
35
|
+
new Uint8Array(dst.buffer).set(
|
|
36
|
+
new Uint8Array(this.parameters),
|
|
37
|
+
dst.byteOffset + pos
|
|
38
|
+
);
|
|
39
|
+
pos += this.parameters.byteLength;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return pos;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
encoded_length() {
|
|
46
|
+
return 13 + (this.parameters ? this.parameters.byteLength : 0);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
decode_from(data, pos, data_len) {
|
|
50
|
+
let len = data.getUint32(pos);
|
|
51
|
+
pos += 4;
|
|
52
|
+
|
|
53
|
+
let event;
|
|
54
|
+
|
|
55
|
+
[pos, event] = OcaEvent.decodeFrom(data, pos);
|
|
56
|
+
|
|
57
|
+
this.event = event;
|
|
58
|
+
this.exception = data.getUint8(pos++) ? true : false;
|
|
59
|
+
len -= 13;
|
|
60
|
+
if (len < 0) throw new Error('Bad Notification Length.');
|
|
61
|
+
if (len > 0) {
|
|
62
|
+
this.parameters = data.buffer.slice(
|
|
63
|
+
data.byteOffset + pos,
|
|
64
|
+
data.byteOffset + pos + len
|
|
65
|
+
);
|
|
66
|
+
pos += len;
|
|
67
|
+
}
|
|
68
|
+
return pos;
|
|
69
|
+
}
|
|
70
|
+
}
|
package/src/connection.js
CHANGED
|
@@ -10,6 +10,8 @@ import { MessageGenerator } from './OCP1/message_generator.js';
|
|
|
10
10
|
* no parameters.
|
|
11
11
|
* - ``error`` is emitted when this connection has been closed with an error.
|
|
12
12
|
* This event emits the error object as a single parameter.
|
|
13
|
+
* - ``send`` is emitted with each pdu that is sent.
|
|
14
|
+
* - ``receive`` is emitted with each pdu that is received.
|
|
13
15
|
*
|
|
14
16
|
* @param {object} options
|
|
15
17
|
* The options.
|
|
@@ -39,13 +41,18 @@ export class Connection extends Events {
|
|
|
39
41
|
this.tx_bytes = 0;
|
|
40
42
|
this.keepalive_interval = -1;
|
|
41
43
|
this._keepalive_interval_id = null;
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
this.
|
|
44
|
+
this._closed = false;
|
|
45
|
+
this.on('close', () => {
|
|
46
|
+
if (this._closed) return;
|
|
47
|
+
this._closed = true;
|
|
45
48
|
this.cleanup();
|
|
46
|
-
};
|
|
47
|
-
this.on('
|
|
48
|
-
|
|
49
|
+
});
|
|
50
|
+
this.on('error', (e) => {
|
|
51
|
+
if (this._closed) return;
|
|
52
|
+
this._closed = true;
|
|
53
|
+
this.emit('close');
|
|
54
|
+
this.cleanup();
|
|
55
|
+
});
|
|
49
56
|
}
|
|
50
57
|
|
|
51
58
|
get is_reliable() {
|
|
@@ -54,6 +61,7 @@ export class Connection extends Events {
|
|
|
54
61
|
|
|
55
62
|
send(pdu) {
|
|
56
63
|
if (this.is_closed()) throw new Error('Connection is closed.');
|
|
64
|
+
this.emit('send', pdu);
|
|
57
65
|
this._message_generator.add(pdu);
|
|
58
66
|
}
|
|
59
67
|
|
|
@@ -2,9 +2,9 @@ import { RemoteDevice } from '../remote_device';
|
|
|
2
2
|
import { OcaWorker } from './OcaWorker';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
* Abstract base class for all actuators (i.e.
|
|
6
|
-
* and/or content of the audio signal, or provide ancillary functions
|
|
7
|
-
* power).
|
|
5
|
+
* Abstract base class for all actuators (i.e. classes) that affect the routing
|
|
6
|
+
* and/or content of the audio signal, or provide ancillary control functions
|
|
7
|
+
* such as power).
|
|
8
8
|
* @extends OcaWorker
|
|
9
9
|
* @class OcaActuator
|
|
10
10
|
*/
|
|
@@ -2,9 +2,9 @@ import { make_control_class } from '../make_control_class.js';
|
|
|
2
2
|
import { OcaWorker } from './OcaWorker.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
* Abstract base class for all actuators (i.e.
|
|
6
|
-
* and/or content of the audio signal, or provide ancillary functions
|
|
7
|
-
* power).
|
|
5
|
+
* Abstract base class for all actuators (i.e. classes) that affect the routing
|
|
6
|
+
* and/or content of the audio signal, or provide ancillary control functions
|
|
7
|
+
* such as power).
|
|
8
8
|
* @extends OcaWorker
|
|
9
9
|
* @class OcaActuator
|
|
10
10
|
*/
|
|
@@ -12,7 +12,7 @@ export const OcaActuator = make_control_class(
|
|
|
12
12
|
'OcaActuator',
|
|
13
13
|
3,
|
|
14
14
|
'\u0001\u0001\u0001',
|
|
15
|
-
|
|
15
|
+
3,
|
|
16
16
|
OcaWorker,
|
|
17
17
|
[],
|
|
18
18
|
[],
|
|
@@ -14,16 +14,10 @@ export declare class OcaAgent extends OcaRoot {
|
|
|
14
14
|
*/
|
|
15
15
|
OnLabelChanged: PropertyEvent<string>;
|
|
16
16
|
|
|
17
|
-
/**
|
|
18
|
-
* This event is emitted whenever Owner changes.
|
|
19
|
-
*/
|
|
20
|
-
OnOwnerChanged: PropertyEvent<number>;
|
|
21
|
-
|
|
22
17
|
constructor(objectNumber: number, device: RemoteDevice);
|
|
23
18
|
|
|
24
19
|
/**
|
|
25
|
-
* Gets the value of the Label property.
|
|
26
|
-
* the property was successfully retrieved.
|
|
20
|
+
* Gets the value of the **Label** property.
|
|
27
21
|
*
|
|
28
22
|
* @method OcaAgent#GetLabel
|
|
29
23
|
* @returns {Promise<string>}
|
|
@@ -32,8 +26,7 @@ export declare class OcaAgent extends OcaRoot {
|
|
|
32
26
|
GetLabel(): Promise<string>;
|
|
33
27
|
|
|
34
28
|
/**
|
|
35
|
-
* Sets the value of the Label property.
|
|
36
|
-
* the property was successfully set.
|
|
29
|
+
* Sets the value of the **Label** property.
|
|
37
30
|
*
|
|
38
31
|
* @method OcaAgent#SetLabel
|
|
39
32
|
* @param {string} Label
|
|
@@ -43,8 +36,7 @@ export declare class OcaAgent extends OcaRoot {
|
|
|
43
36
|
SetLabel(Label: string): Promise<void>;
|
|
44
37
|
|
|
45
38
|
/**
|
|
46
|
-
* Gets the value of the Owner property.
|
|
47
|
-
* the property was successfully retrieved.
|
|
39
|
+
* Gets the value of the **Owner** property.
|
|
48
40
|
*
|
|
49
41
|
* @method OcaAgent#GetOwner
|
|
50
42
|
* @returns {Promise<number>}
|
|
@@ -53,11 +45,11 @@ export declare class OcaAgent extends OcaRoot {
|
|
|
53
45
|
GetOwner(): Promise<number>;
|
|
54
46
|
|
|
55
47
|
/**
|
|
56
|
-
* Returns
|
|
57
|
-
* whether the operation succeeded.
|
|
48
|
+
* Returns Role Path and ONo Path from the Root Block to this object. The
|
|
49
|
+
* return value indicates whether the operation succeeded.
|
|
58
50
|
* The return values of this method are
|
|
59
51
|
*
|
|
60
|
-
* -
|
|
52
|
+
* - RolePath of type ``string[]``
|
|
61
53
|
* - ONoPath of type ``number[]``
|
|
62
54
|
*
|
|
63
55
|
* @method OcaAgent#GetPath
|