karabo.cpp 3.0.5__tar.gz → 3.0.8__tar.gz
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.
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/PKG-INFO +2 -2
- karabo_cpp-3.0.5/dist/karabo_cpp-3.0.5-cp312-cp312-manylinux_2_28_aarch64.whl → karabo_cpp-3.0.8/dist/karabo_cpp-3.0.8-cp312-cp312-manylinux_2_28_aarch64.whl +0 -0
- karabo_cpp-3.0.5/dist/karabo_cpp-3.0.5-cp312-cp312-manylinux_2_28_x86_64.whl → karabo_cpp-3.0.8/dist/karabo_cpp-3.0.8-cp312-cp312-manylinux_2_28_x86_64.whl +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/pyproject.toml +4 -4
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/pyproject.toml.template +1 -1
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/PyUtilAlarmElement.cc +2 -1
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/PyUtilHash.cc +2 -2
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/PyUtilSchemaElement.cc +2 -1
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/PyUtilSchemaElement.hh +27 -26
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/PyUtilSchemaTableElement.cc +2 -1
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/PyUtilStateElement.cc +2 -1
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/PyXmsImageDataElement.cc +2 -1
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/PyXmsSlotElement.cc +2 -1
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/CMakeLists.txt +2 -2
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/core/Device.cc +36 -6
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/core/Device.hh +18 -6
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/core/DeviceClient.cc +21 -15
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/schema/BaseElement.cc +18 -7
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/schema/BaseElement.hh +4 -3
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/schema/CustomNodeElement.hh +3 -2
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/devices/PropertyTest.cc +5 -1
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/core/DeviceClient_Test.cc +42 -4
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/schema/Schema_Test.cc +18 -2
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/xms/SlotElement.hh +3 -3
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/CMakeLists.txt +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/README.md +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/extern/build.sh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/extern/builder_path_replace.py +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/extern/conanfile-bootstrap.txt +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/extern/conanfile-centos.txt +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/extern/conanfile.txt +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/extern/conanprofile.karabo +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/extern/karabo_deployer.py +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/extern/relocate_deps.sh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/extern/requirements-0.txt +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/extern/requirements-1.txt +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/extern/requirements-pre.txt +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/extern/resources/daemontools/CMakeLists.txt +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/extern/resources/daemontools/conanfile.py +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/extern/resources/nss/conandata.yml +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/extern/resources/nss/conanfile.py +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/mod_extern_conanfile.txt +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/prepare_extern.py +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/python/src/karabind/__init__.py +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/python/src/shims/__init__.py +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/python/src/shims/entrypoints.py +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/set_lsb_release_info.sh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/CMakeLists.txt +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/brokerMessageLogger/CMakeLists.txt +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/brokerMessageLogger/brokerMessageLogger.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/cmake/code-coverage.cmake +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/cmake/cxx-options.cmake +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/cmake/import_karabo_lib.cmake +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/cmake/karabo-lib-target-name.cmake +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/deviceServer/CMakeLists.txt +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/deviceServer/deviceServer.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/CMakeLists.txt +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/ConfigurationTestClasses.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/ConfigurationTestClasses.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/FromNumpy.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/FromNumpy.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/HandlerWrap.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/HandlerWrap.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/PyCoreDeviceClient.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/PyIoFileTools.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/PyLogLogger.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/PyNetConnectionChannel.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/PyNetEventLoop.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/PyTypes.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/PyUtilClassInfo.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/PyUtilDateTimeString.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/PyUtilDims.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/PyUtilEpochstamp.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/PyUtilException.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/PyUtilHashAttributes.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/PyUtilHashNode.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/PyUtilJsonToHashParser.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/PyUtilNDArray.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/PyUtilSchema.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/PyUtilSchemaNodeElement.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/PyUtilSchemaOverwriteElement.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/PyUtilSchemaValidator.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/PyUtilTimeDuration.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/PyUtilTimeId.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/PyUtilTimestamp.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/PyUtilTypesReferenceType.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/PyXmsInputOutputChannel.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/PyXmsSignalSlotable.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/PythonFactoryMacros.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/ToNumpy.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/Wrapper.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/Wrapper.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/karabind.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/karabind_test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/stubs/__init__.pyi +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabind/stubs/py.typed +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/cmake/activateKarabo.in +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/cmake/karaboPackageDependencies-GNU-Linux-x86.pc.in +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/core/DeviceClient.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/core/DeviceServer.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/core/DeviceServer.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/core/InstanceChangeThrottler.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/core/InstanceChangeThrottler.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/core/Runner.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/core/Runner.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/core.hpp +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/io/AbstractInput.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/io/BinaryFileInput.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/io/BinaryFileInput.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/io/BinaryFileOutput.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/io/BinaryFileOutput.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/io/BinarySerializer.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/io/BufferSet.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/io/BufferSet.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/io/FileTools.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/io/FileTools.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/io/HashBinaryFileInput.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/io/HashBinaryFileOutput.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/io/HashBinarySerializer.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/io/HashBinarySerializer.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/io/HashTextFileInput.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/io/HashTextFileOutput.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/io/HashXmlSerializer.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/io/HashXmlSerializer.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/io/Input.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/io/InputHandler.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/io/Output.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/io/SchemaBinaryFileInput.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/io/SchemaBinaryFileOutput.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/io/SchemaBinarySerializer.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/io/SchemaBinarySerializer.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/io/SchemaTextFileInput.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/io/SchemaTextFileOutput.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/io/SchemaXmlSerializer.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/io/SchemaXmlSerializer.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/io/TextFileInput.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/io/TextFileInput.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/io/TextFileOutput.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/io/TextFileOutput.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/io/TextSerializer.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/io.hpp +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/schema/AlarmConditionElement.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/schema/AlarmConditionElement.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/schema/ByteArrayElement.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/schema/Configurator.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/schema/Factory.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/schema/LeafElement.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/schema/NDArrayElement.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/schema/NDArrayElement.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/schema/NodeElement.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/schema/OverwriteElement.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/schema/OverwriteElement.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/schema/SimpleElement.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/schema/StateElement.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/schema/StateElement.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/schema/TableElement.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/schema/TableElement.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/schema/Validator.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/schema/Validator.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/schema/VectorElement.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/schema.hpp +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/time/DateTimeString.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/time/DateTimeString.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/time/Epochstamp.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/time/Epochstamp.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/time/TimeDuration.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/time/TimeDuration.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/time/TimeId.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/time/TimeId.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/time/TimePeriod.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/time/TimePeriod.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/time/Timestamp.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/time/Timestamp.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/time.hpp +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/AlarmCondition.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/AlarmCondition.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/Base64.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/Base64.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/ByteSwap.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/ByteSwap.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/ClassInfo.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/ClassInfo.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/Dims.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/Dims.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/Element.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/Exception.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/Exception.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/FromInt.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/FromInt.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/FromLiteral.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/FromLiteral.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/FromType.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/FromTypeInfo.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/FromTypeInfo.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/Hash.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/Hash.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/HashFilter.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/HashFilter.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/NDArray.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/NDArray.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/OrderedMap.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/Schema.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/Schema.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/State.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/State.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/StateSignifier.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/StateSignifier.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/StringTools.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/StringTools.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/ToCppString.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/ToLiteral.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/ToSize.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/ToType.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/Types.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/Units.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/details.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types/karaboDll.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data/types.hpp +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/data.hpp +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/devices/DataLogReader.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/devices/DataLogReader.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/devices/DataLogger.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/devices/DataLogger.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/devices/DataLoggerManager.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/devices/DataLoggerManager.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/devices/FileDataLogger.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/devices/FileDataLogger.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/devices/FileLogReader.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/devices/FileLogReader.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/devices/GuiServerAuthSessionManager.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/devices/GuiServerAuthSessionManager.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/devices/GuiServerDevice.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/devices/GuiServerDevice.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/devices/InfluxDataLogger.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/devices/InfluxDataLogger.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/devices/InfluxLogReader.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/devices/InfluxLogReader.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/devices/PropertyTest.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/karabo.hpp +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/log/Logger.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/log/Logger.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/log/LoggerStream.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/log/utils.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/log/utils.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/log.hpp +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/AmqpBroker.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/AmqpBroker.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/AmqpClient.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/AmqpClient.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/AmqpConnection.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/AmqpConnection.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/AmqpHashClient.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/AmqpHashClient.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/AmqpUtils.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/AmqpUtils.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/Broker.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/Broker.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/Channel.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/Connection.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/Connection.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/EventLoop.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/EventLoop.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/HttpClient.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/HttpClient.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/HttpCommon.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/HttpRequestRunner.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/HttpRequestRunner.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/HttpResponse.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/HttpResponse.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/HttpsRequestRunner.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/HttpsRequestRunner.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/InfluxDbClient.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/InfluxDbClient.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/InfluxDbClientUtils.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/InfluxDbClientUtils.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/NetworkInterface.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/NetworkInterface.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/Queues.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/Strand.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/Strand.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/TcpChannel.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/TcpChannel.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/TcpConnection.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/TcpConnection.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/UserAuthClient.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/UserAuthClient.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/utils.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net/utils.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/net.hpp +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/BrokerUtils.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/BrokerUtils.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/CMakeLists.txt +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/WaitUtils.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/WaitUtils.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/core/DeviceClient_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/core/InstanceChangeThrottler_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/core/InstanceChangeThrottler_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/core/Runner_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/core/Runner_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/core/testJsonToHashParsing.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/io/BufferSet_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/io/BufferSet_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/io/FileInputOutput_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/io/FileInputOutput_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/io/HashBinarySerializer_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/io/HashBinarySerializer_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/io/HashXmlSerializer_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/io/HashXmlSerializer_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/io/SchemaSerializer_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/io/SchemaSerializer_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/io/TestPathSetup.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/io/resources/etalonXML_readonly.xml +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/io/resources/etalonXSD_readonly.xsd +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/io/resources/expectedParamsTextFile.xsd +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/io/resources/newTestXml.xml +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/io/resources/testSchemaFile_readonly.xsd +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/io/resources/xmlForReading_readonly.xml +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/schema/ConfigurationTestClasses.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/schema/ConfigurationTestClasses.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/schema/Configurator_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/schema/Configurator_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/schema/Factory_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/schema/Factory_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/schema/Schema_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/schema/Validator_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/schema/Validator_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/time/DateTimeString_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/time/DateTimeString_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/time/Epochstamp_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/time/Epochstamp_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/time/TimeClasses_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/time/TimeClasses_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/types/AlarmCondition_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/types/AlarmCondition_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/types/Base64_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/types/Base64_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/types/ByteSwap_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/types/ByteSwap_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/types/ClassInfo_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/types/ClassInfo_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/types/Dims_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/types/Dims_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/types/Exception_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/types/Exception_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/types/HashFilter_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/types/HashFilter_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/types/Hash_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/types/Hash_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/types/NDArray_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/types/NDArray_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/types/Serializable_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/types/Serializable_Test.h +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/types/States_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/types/States_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/types/StringTools_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/types/StringTools_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/types/Types_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/data/types/Types_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/log/Logger_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/log/Logger_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/net/Amqp_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/net/Amqp_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/net/Broker_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/net/Broker_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/net/EventLoop_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/net/EventLoop_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/net/HttpClient_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/net/HttpClient_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/net/InfluxDbClient_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/net/InfluxDbClient_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/net/MQTcpNetworking.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/net/MQTcpNetworking.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/net/NetworkInterface_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/net/NetworkInterface_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/net/ParseUrl_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/net/ParseUrl_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/net/ReadAsyncStringUntil_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/net/ReadAsyncStringUntil_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/net/Strand_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/net/Strand_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/net/TcpNetworking_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/net/TcpNetworking_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/testRunner.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/testRunner.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/testRunnerNoLoop.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/util/DataLogUtils_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/util/DataLogUtils_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/util/MetaTools_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/util/MetaTools_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/util/Version_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/util/Version_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/xms/ImageData_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/xms/ImageData_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/xms/InputOutputChannel_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/xms/InputOutputChannel_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/xms/Memory_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/xms/Memory_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/xms/SignalSlotable_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/xms/SignalSlotable_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/xms/Signal_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/xms/Signal_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/xms/Slot_Test.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/tests/xms/Slot_Test.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/util/ArrayTools.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/util/DataLogUtils.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/util/DataLogUtils.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/util/JsonToHashParser.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/util/JsonToHashParser.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/util/MetaTools.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/util/PackParameters.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/util/PluginLoader.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/util/PluginLoader.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/util/TimeProfiler.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/util/TimeProfiler.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/util/Version.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/util/Version.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/util/VersionMacros.in +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/util.hpp +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/xms/ImageData.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/xms/ImageData.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/xms/InputChannel.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/xms/InputChannel.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/xms/Memory.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/xms/Memory.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/xms/OutputChannel.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/xms/OutputChannel.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/xms/Signal.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/xms/Signal.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/xms/SignalSlotable.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/xms/SignalSlotable.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/xms/Slot.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/xms/Slot.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/xms/Statics.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/xms/Statics.hh +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/karabo/xms.hpp +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/tools/brokerRates/CMakeLists.txt +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/tools/brokerRates/brokerRates.cpp +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/tools/dataLoggerIndex/CMakeLists.txt +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/tools/dataLoggerIndex/idxBuild.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/tools/dataLoggerIndex/idxView.cc +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/tools/scripts/activate.tmpl +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/tools/scripts/karabo-inspectbrokertopic +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/tools/scripts/karabo-monitorjmsbroker +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/tools/scripts/karabo-querybroker +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/tools/scripts/karabo-startinfluxdb +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/tools/scripts/karabo-startopenmq +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/tools/scripts/karabo-startprojectdb +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/tools/scripts/karabo-startrabbitmq +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/tools/scripts/karabo-stopbroker +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/tools/scripts/karabo-stopinfluxdb +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/tools/scripts/karabo-stopprojectdb +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/src/tools/scripts/karabo-stoprabbitmq +0 -0
- {karabo_cpp-3.0.5 → karabo_cpp-3.0.8}/wheel_tests/test_console.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: karabo.cpp
|
|
3
|
-
Version: 3.0.
|
|
3
|
+
Version: 3.0.8
|
|
4
4
|
Summary: Karabo's C++ API and Python bindings thereof
|
|
5
5
|
Keywords: Karabo,SCADA,async,control system
|
|
6
6
|
Author-Email: European XFEL GmbH <opensource@xfel.eu>
|
|
@@ -13,7 +13,7 @@ Project-URL: Homepage, https://github.com/European-XFEL/Karabo
|
|
|
13
13
|
Project-URL: Bug Reports, https://github.com/European-XFEL/Karabo/issues
|
|
14
14
|
Project-URL: Source, https://github.com/European-XFEL/Karabo
|
|
15
15
|
Requires-Python: ==3.12.*
|
|
16
|
-
Requires-Dist: karabo-native==3.0.
|
|
16
|
+
Requires-Dist: karabo-native==3.0.8
|
|
17
17
|
Description-Content-Type: text/markdown
|
|
18
18
|
|
|
19
19
|
# Karabo SCADA Framework - C++ API and Service Devices
|
|
Binary file
|
|
Binary file
|
|
@@ -3,7 +3,7 @@ requires = ["scikit-build-core"]
|
|
|
3
3
|
build-backend = "scikit_build_core.build"
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
|
-
version = "3.0.
|
|
6
|
+
version = "3.0.8"
|
|
7
7
|
name = "karabo.cpp"
|
|
8
8
|
description = "Karabo's C++ API and Python bindings thereof"
|
|
9
9
|
readme = "README.md"
|
|
@@ -38,7 +38,7 @@ classifiers = [
|
|
|
38
38
|
# For an analysis of this field vs pip's requirements files see:
|
|
39
39
|
# https://packaging.python.org/discussions/install-requires-vs-requirements/
|
|
40
40
|
dependencies = [
|
|
41
|
-
"karabo-native==3.0.
|
|
41
|
+
"karabo-native==3.0.8",
|
|
42
42
|
]
|
|
43
43
|
|
|
44
44
|
|
|
@@ -126,9 +126,9 @@ manylinux-pypy_aarch64-image = "quay.io/pypa/manylinux_2_28_aarch64"
|
|
|
126
126
|
# Additionally, openssl requires PERL to configure. We need to ensure a full
|
|
127
127
|
# installation is available.
|
|
128
128
|
before-all = "dnf -y install perl gettext"
|
|
129
|
-
before-build = "pip3 install conan==2.
|
|
129
|
+
before-build = "pip3 install conan==2.21.0 && pip3 install numpy==2.0.1 && python -c 'from prepare_extern import prepare; prepare()' && /project/extern/build.sh /project/extern/build ALL"
|
|
130
130
|
|
|
131
131
|
test-requires = ["pytest"]
|
|
132
132
|
# these are minimally required for a C++ server to start
|
|
133
|
-
before-test = "mkdir /karabo && mkdir /karabo/var && mkdir /karabo/var/data && mkdir /karabo/plugins && pip install karabo.native==3.0.
|
|
133
|
+
before-test = "mkdir /karabo && mkdir /karabo/var && mkdir /karabo/var/data && mkdir /karabo/plugins && pip install karabo.native==3.0.8 --index-url 'https://gitlab-ci-token:glcbt-64_ss7mXyAo4wEHTJpY4ynr@git.xfel.eu/api/v4/projects/5003/packages/pypi/simple' --extra-index-url https://pypi.org"
|
|
134
134
|
test-command = "KARABO=/karabo KARABO_BROKER=amqp://xfel:karabo@exfl-broker-1:5672 pytest {project}/wheel_tests"
|
|
@@ -128,7 +128,7 @@ manylinux-pypy_aarch64-image = "quay.io/pypa/manylinux_2_28_aarch64"
|
|
|
128
128
|
# Additionally, openssl requires PERL to configure. We need to ensure a full
|
|
129
129
|
# installation is available.
|
|
130
130
|
before-all = "dnf -y install perl gettext"
|
|
131
|
-
before-build = "pip3 install conan==2.
|
|
131
|
+
before-build = "pip3 install conan==2.21.0 && pip3 install numpy==2.0.1 && python -c 'from prepare_extern import prepare; prepare()' && /project/extern/build.sh /project/extern/build ALL"
|
|
132
132
|
|
|
133
133
|
test-requires = ["pytest"]
|
|
134
134
|
# these are minimally required for a C++ server to start
|
|
@@ -49,7 +49,8 @@ void exportPyUtilAlarmConditionElement(py::module_& m) {
|
|
|
49
49
|
|
|
50
50
|
a.def("displayedName", &AlarmConditionElement::displayedName, py::return_value_policy::reference_internal);
|
|
51
51
|
|
|
52
|
-
a.def("key", &AlarmConditionElement::key, py::
|
|
52
|
+
a.def("key", &AlarmConditionElement::key, py::arg("name"), py::arg("strict") = true,
|
|
53
|
+
py::return_value_policy::reference_internal);
|
|
53
54
|
|
|
54
55
|
a.def("tags",
|
|
55
56
|
(AlarmConditionElement & (AlarmConditionElement::*)(std::string const&, std::string const&)) &
|
|
@@ -461,8 +461,8 @@ void exportPyUtilHash(py::module_& m) {
|
|
|
461
461
|
g = h.get('a.b') # reference to Hash('c', 1)
|
|
462
462
|
g.set('c', 2)
|
|
463
463
|
assert(h.get('a.b.c') == 2)
|
|
464
|
-
del
|
|
465
|
-
print(g) #
|
|
464
|
+
del h # delete whole tree
|
|
465
|
+
print(g) # inner Hash still valid
|
|
466
466
|
)pbdoc");
|
|
467
467
|
|
|
468
468
|
h.def(
|
|
@@ -217,7 +217,8 @@ void exportPyUtilSchemaElement(py::module_& m) {
|
|
|
217
217
|
.def("description", &NDArrayElement::description, py::return_value_policy::reference_internal)
|
|
218
218
|
.def("displayedName", &NDArrayElement::displayedName, py::return_value_policy::reference_internal)
|
|
219
219
|
.def("init", &NDArrayElement::init, py::return_value_policy::reference_internal)
|
|
220
|
-
.def("key", &NDArrayElement::key, py::
|
|
220
|
+
.def("key", &NDArrayElement::key, py::arg("name"), py::arg("strict") = true,
|
|
221
|
+
py::return_value_policy::reference_internal)
|
|
221
222
|
.def("readOnly", &NDArrayElement::readOnly, py::return_value_policy::reference_internal)
|
|
222
223
|
.def("reconfigurable", &NDArrayElement::reconfigurable, py::return_value_policy::reference_internal)
|
|
223
224
|
.def("commit", &NDArrayElement::commit, py::return_value_policy::reference_internal);
|
|
@@ -234,31 +234,31 @@ class CommonWrap {
|
|
|
234
234
|
KARABO_PYTHON_NUMERIC_ATTRIBUTES(T); \
|
|
235
235
|
}
|
|
236
236
|
|
|
237
|
-
#define KARABO_PYTHON_COMMON_ATTRIBUTES(T)
|
|
238
|
-
.def("observerAccess", &T::observerAccess, py::return_value_policy::reference_internal)
|
|
239
|
-
.def("operatorAccess", &T::operatorAccess, py::return_value_policy::reference_internal)
|
|
240
|
-
.def("expertAccess", &T::expertAccess, py::return_value_policy::reference_internal)
|
|
241
|
-
.def("allowedStates", &CommonWrap<T>::allowedStatesPy, py::return_value_policy::reference_internal)
|
|
242
|
-
.def("assignmentInternal", &T::assignmentInternal, py::return_value_policy::reference_internal)
|
|
243
|
-
.def("assignmentMandatory", &T::assignmentMandatory, py::return_value_policy::reference_internal)
|
|
244
|
-
.def("assignmentOptional", &T::assignmentOptional, py::return_value_policy::reference_internal)
|
|
245
|
-
.def("alias", &AliasAttributeWrap<T>::aliasPy, py::return_value_policy::reference_internal)
|
|
246
|
-
.def("commit", &T::commit, py::return_value_policy::reference_internal)
|
|
247
|
-
.def("commit", (T & (T::*)(karabo::data::Schema&))(&T::commit), py::arg("expected"),
|
|
248
|
-
py::return_value_policy::reference_internal)
|
|
249
|
-
.def("description", &T::description, py::return_value_policy::reference_internal)
|
|
250
|
-
.def("displayedName", &T::displayedName, py::return_value_policy::reference_internal)
|
|
251
|
-
.def("unit", &T::unit, py::return_value_policy::reference_internal)
|
|
252
|
-
.def("metricPrefix", &T::metricPrefix, py::return_value_policy::reference_internal)
|
|
253
|
-
.def("init", &T::init, py::return_value_policy::reference_internal)
|
|
254
|
-
.def("key", &T::key, py::return_value_policy::reference_internal)
|
|
255
|
-
.def("setSpecialDisplayType", (T & (T::*)(std::string const&))(&T::setSpecialDisplayType),
|
|
256
|
-
py::arg("displayType"), py::return_value_policy::reference_internal)
|
|
257
|
-
.def("readOnly", &T::readOnly, py::return_value_policy::reference_internal)
|
|
258
|
-
.def("reconfigurable", &T::reconfigurable, py::return_value_policy::reference_internal)
|
|
259
|
-
.def("tags", (T & (T::*)(std::string const&, std::string const&))(&T::tags), py::arg("tags"),
|
|
260
|
-
py::arg("sep") = " ,;", py::return_value_policy::reference_internal)
|
|
261
|
-
.def("tags", (T & (T::*)(std::vector<std::string> const&))(&T::tags), py::arg("tags"),
|
|
237
|
+
#define KARABO_PYTHON_COMMON_ATTRIBUTES(T) \
|
|
238
|
+
.def("observerAccess", &T::observerAccess, py::return_value_policy::reference_internal) \
|
|
239
|
+
.def("operatorAccess", &T::operatorAccess, py::return_value_policy::reference_internal) \
|
|
240
|
+
.def("expertAccess", &T::expertAccess, py::return_value_policy::reference_internal) \
|
|
241
|
+
.def("allowedStates", &CommonWrap<T>::allowedStatesPy, py::return_value_policy::reference_internal) \
|
|
242
|
+
.def("assignmentInternal", &T::assignmentInternal, py::return_value_policy::reference_internal) \
|
|
243
|
+
.def("assignmentMandatory", &T::assignmentMandatory, py::return_value_policy::reference_internal) \
|
|
244
|
+
.def("assignmentOptional", &T::assignmentOptional, py::return_value_policy::reference_internal) \
|
|
245
|
+
.def("alias", &AliasAttributeWrap<T>::aliasPy, py::return_value_policy::reference_internal) \
|
|
246
|
+
.def("commit", &T::commit, py::return_value_policy::reference_internal) \
|
|
247
|
+
.def("commit", (T & (T::*)(karabo::data::Schema&))(&T::commit), py::arg("expected"), \
|
|
248
|
+
py::return_value_policy::reference_internal) \
|
|
249
|
+
.def("description", &T::description, py::return_value_policy::reference_internal) \
|
|
250
|
+
.def("displayedName", &T::displayedName, py::return_value_policy::reference_internal) \
|
|
251
|
+
.def("unit", &T::unit, py::return_value_policy::reference_internal) \
|
|
252
|
+
.def("metricPrefix", &T::metricPrefix, py::return_value_policy::reference_internal) \
|
|
253
|
+
.def("init", &T::init, py::return_value_policy::reference_internal) \
|
|
254
|
+
.def("key", &T::key, py::arg("name"), py::arg("strict") = true, py::return_value_policy::reference_internal) \
|
|
255
|
+
.def("setSpecialDisplayType", (T & (T::*)(std::string const&))(&T::setSpecialDisplayType), \
|
|
256
|
+
py::arg("displayType"), py::return_value_policy::reference_internal) \
|
|
257
|
+
.def("readOnly", &T::readOnly, py::return_value_policy::reference_internal) \
|
|
258
|
+
.def("reconfigurable", &T::reconfigurable, py::return_value_policy::reference_internal) \
|
|
259
|
+
.def("tags", (T & (T::*)(std::string const&, std::string const&))(&T::tags), py::arg("tags"), \
|
|
260
|
+
py::arg("sep") = " ,;", py::return_value_policy::reference_internal) \
|
|
261
|
+
.def("tags", (T & (T::*)(std::vector<std::string> const&))(&T::tags), py::arg("tags"), \
|
|
262
262
|
py::return_value_policy::reference_internal)
|
|
263
263
|
|
|
264
264
|
#define KARABO_PYTHON_OPTIONS_NONVECTOR(T) \
|
|
@@ -315,7 +315,8 @@ class CommonWrap {
|
|
|
315
315
|
.def("observerAccess", &NameElem::observerAccess, py::return_value_policy::reference_internal) \
|
|
316
316
|
.def("operatorAccess", &NameElem::operatorAccess, py::return_value_policy::reference_internal) \
|
|
317
317
|
.def("expertAccess", &NameElem::expertAccess, py::return_value_policy::reference_internal) \
|
|
318
|
-
.def("key", &NameElem::key, py::
|
|
318
|
+
.def("key", &NameElem::key, py::arg("name"), py::arg("strict") = true, \
|
|
319
|
+
py::return_value_policy::reference_internal) \
|
|
319
320
|
.def("description", &NameElem::description, py::return_value_policy::reference_internal) \
|
|
320
321
|
.def("displayedName", &NameElem::displayedName, py::return_value_policy::reference_internal) \
|
|
321
322
|
.def("alias", &AliasAttributeWrap<NameElem>::aliasPy, py::return_value_policy::reference_internal) \
|
|
@@ -125,7 +125,8 @@ void exportPyUtilSchemaTableElement(py::module_& m) {
|
|
|
125
125
|
.def("description", &TableElement::description, py::return_value_policy::reference_internal)
|
|
126
126
|
.def("displayedName", &TableElement::displayedName, py::return_value_policy::reference_internal)
|
|
127
127
|
.def("init", &TableElement::init, py::return_value_policy::reference_internal)
|
|
128
|
-
.def("key", &TableElement::key, py::
|
|
128
|
+
.def("key", &TableElement::key, py::arg("name"), py::arg("strict") = true,
|
|
129
|
+
py::return_value_policy::reference_internal)
|
|
129
130
|
.def("reconfigurable", &TableElement::reconfigurable, py::return_value_policy::reference_internal)
|
|
130
131
|
.def("tags",
|
|
131
132
|
(TableElement & (TableElement::*)(std::string const&, std::string const&)) & TableElement::tags,
|
|
@@ -47,7 +47,8 @@ void exportPyUtilStateElement(py::module_& m) {
|
|
|
47
47
|
|
|
48
48
|
se.def("displayedName", &StateElement::displayedName, py::return_value_policy::reference_internal);
|
|
49
49
|
|
|
50
|
-
se.def("key", &StateElement::key, py::
|
|
50
|
+
se.def("key", &StateElement::key, py::arg("name"), py::arg("strict") = true,
|
|
51
|
+
py::return_value_policy::reference_internal);
|
|
51
52
|
|
|
52
53
|
se.def("tags", (StateElement & (StateElement::*)(std::string const&, std::string const&)) & StateElement::tags,
|
|
53
54
|
py::arg("tags"), py::arg("sep") = " ,;", py::return_value_policy::reference_internal);
|
|
@@ -210,7 +210,8 @@ void exportPyXmsImageDataElement(py::module_& m) {
|
|
|
210
210
|
|
|
211
211
|
el.def(py::init<Schema&>(), py::arg("expected"));
|
|
212
212
|
|
|
213
|
-
el.def("key", &ImageDataElement::key, py::arg("key"), py::
|
|
213
|
+
el.def("key", &ImageDataElement::key, py::arg("key"), py::arg("strict") = true,
|
|
214
|
+
py::return_value_policy::reference_internal);
|
|
214
215
|
|
|
215
216
|
el.def("displayedName", &ImageDataElement::displayedName, py::arg("name"),
|
|
216
217
|
py::return_value_policy::reference_internal);
|
|
@@ -85,7 +85,8 @@ void exportPyXmsSlotElement(py::module_& m) {
|
|
|
85
85
|
sl.def("displayedName", &SlotElementBase<SLOT_ELEMENT>::displayedName, py::arg("displayedName"),
|
|
86
86
|
py::return_value_policy::reference_internal);
|
|
87
87
|
|
|
88
|
-
sl.def("key", &SlotElementBase<SLOT_ELEMENT>::key, py::arg("name"), py::
|
|
88
|
+
sl.def("key", &SlotElementBase<SLOT_ELEMENT>::key, py::arg("name"), py::arg("strict") = true,
|
|
89
|
+
py::return_value_policy::reference_internal);
|
|
89
90
|
|
|
90
91
|
sl.def("alias", &wrapper::AliasAttributePy<SLOT_ELEMENT>::setAlias, py::return_value_policy::reference_internal);
|
|
91
92
|
|
|
@@ -66,10 +66,10 @@ endif()
|
|
|
66
66
|
# Extracts KARABO_VERSION from the appropriate Git tag, writes to
|
|
67
67
|
# a file to be used by the Karabo Framework at build time.
|
|
68
68
|
message(STATUS "Resolving Karabo Version from Git repository")
|
|
69
|
-
set(KARABO_VERSION "3.0.
|
|
69
|
+
set(KARABO_VERSION "3.0.8")
|
|
70
70
|
set(KARABO_VERSION_MAJOR "3")
|
|
71
71
|
set(KARABO_VERSION_MINOR "0")
|
|
72
|
-
set(KARABO_VERSION_PATCH "
|
|
72
|
+
set(KARABO_VERSION_PATCH "8")
|
|
73
73
|
message(STATUS "Karabo Version: ${KARABO_VERSION}")
|
|
74
74
|
message(STATUS "Karabo Version Major: ${KARABO_VERSION_MAJOR}")
|
|
75
75
|
message(STATUS "Karabo Version Minor: ${KARABO_VERSION_MINOR}")
|
|
@@ -714,23 +714,53 @@ namespace karabo {
|
|
|
714
714
|
onTimeTick(id, sec, frac, period);
|
|
715
715
|
}
|
|
716
716
|
|
|
717
|
-
|
|
718
717
|
void Device::appendSchemaMaxSize(const std::string& path, unsigned int value, bool emitFlag) {
|
|
718
|
+
internalAppendSchemaMultiMaxSize({path}, {value}, emitFlag);
|
|
719
|
+
}
|
|
720
|
+
|
|
721
|
+
void Device::appendSchemaMultiMaxSize(const std::vector<std::string>& paths,
|
|
722
|
+
const std::vector<unsigned int>& values) {
|
|
723
|
+
internalAppendSchemaMultiMaxSize(paths, values, true);
|
|
724
|
+
}
|
|
725
|
+
|
|
726
|
+
void Device::internalAppendSchemaMultiMaxSize(const std::vector<std::string>& paths,
|
|
727
|
+
const std::vector<unsigned int>& values, bool emitFlag) {
|
|
719
728
|
using karabo::data::OVERWRITE_ELEMENT;
|
|
729
|
+
|
|
730
|
+
if (paths.size() != values.size()) {
|
|
731
|
+
throw KARABO_PARAMETER_EXCEPTION("Number of paths and values differs.");
|
|
732
|
+
}
|
|
720
733
|
std::lock_guard<std::mutex> lock(m_objectStateChangeMutex);
|
|
721
|
-
|
|
722
|
-
|
|
734
|
+
for (const std::string& path : paths) {
|
|
735
|
+
if (!m_fullSchema.has(path)) {
|
|
736
|
+
throw KARABO_PARAMETER_EXCEPTION("Path \"" + path + "\" not found in the device schema.");
|
|
737
|
+
}
|
|
723
738
|
}
|
|
724
739
|
m_stateDependentSchema.clear();
|
|
725
740
|
// Do not touch static schema - that must be restorable via updateSchema(Schema())
|
|
726
741
|
// OVERWRITE_ELEMENT checks whether max size attribute makes sense for path
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
742
|
+
size_t index = 0;
|
|
743
|
+
for (const std::string& path : paths) {
|
|
744
|
+
const unsigned int value = values[index++]; // postfix!
|
|
745
|
+
OVERWRITE_ELEMENT(m_fullSchema).key(path).setNewMaxSize(value).commit();
|
|
746
|
+
if (m_injectedSchema.has(path)) {
|
|
747
|
+
OVERWRITE_ELEMENT(m_injectedSchema).key(path).setNewMaxSize(value).commit();
|
|
748
|
+
}
|
|
730
749
|
}
|
|
731
750
|
|
|
732
751
|
// Notify the distributed system if needed
|
|
752
|
+
// (and, as in updateSchema and appendSchema, better before recreating output channels):
|
|
733
753
|
if (emitFlag) emit("signalSchemaUpdated", m_fullSchema, m_deviceId);
|
|
754
|
+
|
|
755
|
+
// If the vector was part of an output channel schema, recreate the channel.
|
|
756
|
+
// The new incarnation of the channel receives the up-to-date schema for validation.
|
|
757
|
+
for (const std::string& output : getOutputChannelNames()) {
|
|
758
|
+
for (const std::string& path : paths) {
|
|
759
|
+
if (path.starts_with(output)) {
|
|
760
|
+
prepareOutputChannel(output);
|
|
761
|
+
}
|
|
762
|
+
}
|
|
763
|
+
}
|
|
734
764
|
}
|
|
735
765
|
|
|
736
766
|
|
|
@@ -811,20 +811,32 @@ namespace karabo {
|
|
|
811
811
|
unsigned long long period) {}
|
|
812
812
|
|
|
813
813
|
/**
|
|
814
|
-
* Append Schema to change
|
|
814
|
+
* Append Schema to change or set the maximum size for a vector or table property
|
|
815
815
|
*
|
|
816
816
|
* This is similar to the more general appendSchema, but dedicated to a common use case.
|
|
817
817
|
*
|
|
818
|
-
*
|
|
818
|
+
* Use 'appendSchemaMultiMaxSize' if the maximum size of several properties should be changed.
|
|
819
819
|
*
|
|
820
|
-
* @param path indicates the
|
|
821
|
-
* @param value is the new maximum size of the
|
|
820
|
+
* @param path indicates the property which should be a Vector- or TableElement
|
|
821
|
+
* @param value is the new maximum size of the property
|
|
822
822
|
* @param emitFlag indicates if others should be informed about this Schema update.
|
|
823
|
-
*
|
|
824
|
-
* set this to true only for the last call.
|
|
823
|
+
* Should only be set to false if followed by a call to appendSchema(..).
|
|
825
824
|
*/
|
|
826
825
|
void appendSchemaMaxSize(const std::string& path, unsigned int value, bool emitFlag = true);
|
|
827
826
|
|
|
827
|
+
/**
|
|
828
|
+
* Append Schema to change or set the maximum size information for several properties
|
|
829
|
+
*
|
|
830
|
+
* @param paths property names of Vector- or TableElements
|
|
831
|
+
* @param values the new maximum sizes of these properties (same order and length as 'paths')
|
|
832
|
+
*/
|
|
833
|
+
void appendSchemaMultiMaxSize(const std::vector<std::string>& paths,
|
|
834
|
+
const std::vector<unsigned int>& values);
|
|
835
|
+
|
|
836
|
+
private:
|
|
837
|
+
void internalAppendSchemaMultiMaxSize(const std::vector<std::string>& paths,
|
|
838
|
+
const std::vector<unsigned int>& values, bool emitFlag);
|
|
839
|
+
|
|
828
840
|
protected: // Functions and Classes
|
|
829
841
|
virtual void preReconfigure(karabo::data::Hash& incomingReconfiguration) {}
|
|
830
842
|
|
|
@@ -378,7 +378,7 @@ namespace karabo {
|
|
|
378
378
|
// if instance is untracked).
|
|
379
379
|
if (auto sigSlot = m_signalSlotable.lock()) {
|
|
380
380
|
const bool wasTracked = sigSlot->eraseTrackedInstance(instanceId);
|
|
381
|
-
sigSlot->call(instanceId, "slotDiscover",
|
|
381
|
+
sigSlot->call(instanceId, "slotDiscover", getInstanceId());
|
|
382
382
|
KARABO_LOG_FRAMEWORK_WARN << getInstanceId() << ": Received instance update from '"
|
|
383
383
|
<< instanceId << "' although it is not in runtime description"
|
|
384
384
|
<< (wasTracked ? " (but was tracked!)" : "")
|
|
@@ -1800,8 +1800,8 @@ namespace karabo {
|
|
|
1800
1800
|
if (hash.has("doNotCompressEvents")) {
|
|
1801
1801
|
// magic: if the hash contains a change for the expected parameter "doNotCompressElements
|
|
1802
1802
|
// we are sending it directly, no throttling.
|
|
1803
|
-
// Note: Since we updated m_runtimeSystemDescription above, there is no problem if
|
|
1804
|
-
//
|
|
1803
|
+
// Note: Since we updated m_runtimeSystemDescription above, there is no problem if the next
|
|
1804
|
+
// "flushing" of m_runtimeSystemDescription will send the new value again.
|
|
1805
1805
|
std::lock_guard<std::mutex> lock(m_devicesChangesMutex);
|
|
1806
1806
|
if (m_devicesChangesHandler) {
|
|
1807
1807
|
Hash deviceChanges(instanceId, hash);
|
|
@@ -1819,18 +1819,20 @@ namespace karabo {
|
|
|
1819
1819
|
std::lock_guard<std::mutex> lock(m_devicesChangesMutex);
|
|
1820
1820
|
if (m_devicesChangesHandler) m_devicesChangesHandler(statusChange);
|
|
1821
1821
|
}
|
|
1822
|
-
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
|
|
1827
|
-
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
|
|
1831
|
-
|
|
1832
|
-
|
|
1833
|
-
|
|
1822
|
+
if (!directlyForwardStatus || hash.size() > 1) { // Anything to throttle?
|
|
1823
|
+
std::lock_guard<std::mutex> lock(m_signalsChangedMutex);
|
|
1824
|
+
// Just book keep paths here and call 'notifyDeviceChangedMonitors'
|
|
1825
|
+
// later with content from m_runtimeSystemDescription.
|
|
1826
|
+
// Note:
|
|
1827
|
+
// If there is path "a.b" coming, should we erase possible previous changes to daughters like
|
|
1828
|
+
// "a.b.c.d"? No - that should better be handled in merging into m_runtimeSystemDescription
|
|
1829
|
+
// above and then the invalid path "a.b.c.d" should be ignored 'downstream' when sending.
|
|
1830
|
+
std::set<std::string>& updatedPaths = m_signalsChanged[instanceId];
|
|
1831
|
+
hash.getPaths(updatedPaths); // extend by new updates
|
|
1832
|
+
|
|
1833
|
+
// Do not send the same status update again later
|
|
1834
|
+
if (directlyForwardStatus) updatedPaths.erase(statusNode->getKey());
|
|
1835
|
+
}
|
|
1834
1836
|
}
|
|
1835
1837
|
} else {
|
|
1836
1838
|
// There is a tiny (!) risk here: The last loop of the corresponding thread
|
|
@@ -2099,6 +2101,10 @@ namespace karabo {
|
|
|
2099
2101
|
mapIt != mapEnd; ++mapIt) {
|
|
2100
2102
|
const std::string& instanceId = mapIt->first;
|
|
2101
2103
|
const std::set<std::string>& properties = mapIt->second;
|
|
2104
|
+
if (properties.empty()) { // Shouldn't happen...
|
|
2105
|
+
KARABO_LOGGING_WARN("Trying to send throttled empty updates for '{}'", instanceId);
|
|
2106
|
+
continue; // merge(..) below would merge full device config into allUpdates!
|
|
2107
|
+
}
|
|
2102
2108
|
// Get path of instance in runtime system description and then its configuration
|
|
2103
2109
|
const std::string path(this->findInstanceSafe(instanceId));
|
|
2104
2110
|
const data::Hash config(this->getSectionFromRuntimeDescription(path + ".configuration"));
|
|
@@ -23,22 +23,33 @@
|
|
|
23
23
|
#include "karabo/data/types/Exception.hh"
|
|
24
24
|
#include "karabo/data/types/Hash.hh"
|
|
25
25
|
|
|
26
|
-
void karabo::data::checkPropertyPath(const std::string& name) {
|
|
26
|
+
void karabo::data::checkPropertyPath(const std::string& name, bool strict) {
|
|
27
27
|
if (name.empty() || name.back() == Hash::k_defaultSep) {
|
|
28
28
|
throw KARABO_PARAMETER_EXCEPTION(("Bad (sub-)key '" + name) += "': empty");
|
|
29
29
|
}
|
|
30
30
|
// '/' is special: only allowed for backward compatibility in metro devices of DA group
|
|
31
|
-
// `@` is required for mangling with other control systems
|
|
32
31
|
constexpr char allowedCharacters[] =
|
|
33
|
-
".0123456789_
|
|
32
|
+
".0123456789_/" // In 3.1.X move '/' to tolerated characters?
|
|
34
33
|
"abcdefghijklmnopqrstuvwxyz"
|
|
35
34
|
"ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
36
35
|
assert(allowedCharacters[0] == karabo::data::Hash::k_defaultSep);
|
|
37
36
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
37
|
+
if (strict) {
|
|
38
|
+
const size_t pos = name.find_first_not_of(allowedCharacters);
|
|
39
|
+
if (pos != std::string::npos) {
|
|
40
|
+
std::string msg(("Bad (sub-)key '" + name) += "': illegal character at position ");
|
|
41
|
+
throw KARABO_PARAMETER_EXCEPTION(msg += toString(pos));
|
|
42
|
+
}
|
|
43
|
+
} else {
|
|
44
|
+
// If requested to be not strict, we tolerate some characters.
|
|
45
|
+
// Note we must not tolerate ',', '=', or space for sake of the influxDB line protocol!
|
|
46
|
+
const std::string toleratedCharacters("@-");
|
|
47
|
+
const std::string allAllowedCharacters(allowedCharacters + toleratedCharacters);
|
|
48
|
+
const size_t pos = name.find_first_not_of(allAllowedCharacters);
|
|
49
|
+
if (pos != std::string::npos) {
|
|
50
|
+
std::string msg(("Bad (sub-)key '" + name) += "': not tolerated character at position ");
|
|
51
|
+
throw KARABO_PARAMETER_EXCEPTION(msg += toString(pos));
|
|
52
|
+
}
|
|
42
53
|
}
|
|
43
54
|
// Now check that leading character of (last part of) name is not a digit
|
|
44
55
|
// (non-last parts are checked when their nodes were added)
|
|
@@ -40,8 +40,9 @@ namespace karabo {
|
|
|
40
40
|
* Nestes paths (i.e. paths with dots) are allowed.
|
|
41
41
|
*
|
|
42
42
|
* @param name the key to be checked
|
|
43
|
+
* @param strict specify whether to tolerate more than just letter, digits, underscore
|
|
43
44
|
*/
|
|
44
|
-
void checkPropertyPath(const std::string& name);
|
|
45
|
+
void checkPropertyPath(const std::string& name, bool strict);
|
|
45
46
|
|
|
46
47
|
/**
|
|
47
48
|
* The BaseElement class is a base class for various element types: simple, vector, choice, list
|
|
@@ -74,13 +75,13 @@ namespace karabo {
|
|
|
74
75
|
* .commit();
|
|
75
76
|
* @endcode
|
|
76
77
|
*/
|
|
77
|
-
virtual Derived& key(const std::string& name) {
|
|
78
|
+
virtual Derived& key(const std::string& name, bool strict = true) {
|
|
78
79
|
// Check whether full path (that in fact has to be specified here!) or its last
|
|
79
80
|
// key is empty - empty non-last keys are caught elsewhere.
|
|
80
81
|
// Also ensure that keys are usable with MDL proxies, i.e. only letters, digits,
|
|
81
82
|
// underscores - and a digit not as first character.
|
|
82
83
|
|
|
83
|
-
checkPropertyPath(name); // throws if not OK
|
|
84
|
+
checkPropertyPath(name, strict); // throws if not OK
|
|
84
85
|
|
|
85
86
|
m_node->m_key = name;
|
|
86
87
|
return *(static_cast<Derived*>(this));
|
|
@@ -92,6 +92,7 @@ namespace karabo {
|
|
|
92
92
|
/**
|
|
93
93
|
* The <b>key</b> method serves for setting up a unique name for the element.
|
|
94
94
|
* @param name Unique name for the key
|
|
95
|
+
* @param strict keep as true to get the strongly recommended strict validation of characters in 'name'
|
|
95
96
|
* @return reference to the Element (to allow method's chaining)
|
|
96
97
|
*
|
|
97
98
|
* <b>Example:</b>
|
|
@@ -102,10 +103,10 @@ namespace karabo {
|
|
|
102
103
|
* .commit();
|
|
103
104
|
* @endcode
|
|
104
105
|
*/
|
|
105
|
-
Derived& key(const std::string& key) {
|
|
106
|
+
Derived& key(const std::string& key, bool strict = true) {
|
|
106
107
|
using namespace karabo::data;
|
|
107
108
|
m_key = key;
|
|
108
|
-
NODE_ELEMENT(m_schema).key(m_key).template appendParametersOf<Described>().commit();
|
|
109
|
+
NODE_ELEMENT(m_schema).key(m_key, strict).template appendParametersOf<Described>().commit();
|
|
109
110
|
|
|
110
111
|
return *(static_cast<Derived*>(this));
|
|
111
112
|
}
|
|
@@ -1174,7 +1174,11 @@ namespace karabo {
|
|
|
1174
1174
|
|
|
1175
1175
|
|
|
1176
1176
|
void PropertyTest::slotUpdateStatus(const std::string& status, int intProperty) {
|
|
1177
|
-
|
|
1177
|
+
Hash update("status", status);
|
|
1178
|
+
if (intProperty >= 0) {
|
|
1179
|
+
update.set("int32PropertyReadOnly", intProperty);
|
|
1180
|
+
}
|
|
1181
|
+
set(update);
|
|
1178
1182
|
}
|
|
1179
1183
|
|
|
1180
1184
|
|
|
@@ -484,7 +484,7 @@ void DeviceClient_Test::testDeviceConfigurationsHandler() {
|
|
|
484
484
|
for (size_t i = 0; i < numStatusUpdates; ++i) {
|
|
485
485
|
const std::string status("Status " + toString(i));
|
|
486
486
|
CPPUNIT_ASSERT_NO_THROW(
|
|
487
|
-
m_deviceClient->execute(devId, "slotUpdateStatus", KRB_TEST_MAX_TIMEOUT, status, int(i)));
|
|
487
|
+
m_deviceClient->execute(devId, "slotUpdateStatus", KRB_TEST_MAX_TIMEOUT, status, static_cast<int>(i)));
|
|
488
488
|
}
|
|
489
489
|
// Since execute is synchronous, all signal updates directly triggered by it have returned
|
|
490
490
|
// to the client and that one has called our handler. But the simultaneous update of
|
|
@@ -501,18 +501,20 @@ void DeviceClient_Test::testDeviceConfigurationsHandler() {
|
|
|
501
501
|
size_t numStatus = 0, numInt32 = 0;
|
|
502
502
|
for (size_t i = 0; i < updates.size(); ++i) {
|
|
503
503
|
const karabo::data::Hash& update = updates[i];
|
|
504
|
+
const std::string msg((toString(i) += ": ") += toString(update));
|
|
505
|
+
CPPUNIT_ASSERT_MESSAGE(msg, !update.has("deviceId"));
|
|
504
506
|
if (update.has("status")) {
|
|
505
507
|
// It is throttled, no other keys!
|
|
506
|
-
CPPUNIT_ASSERT_MESSAGE(
|
|
508
|
+
CPPUNIT_ASSERT_MESSAGE(msg, !update.has("int32PropertyReadOnly"));
|
|
507
509
|
|
|
508
510
|
const bool hasTimeAttrs = Timestamp::hashAttributesContainTimeInformation(update.getAttributes("status"));
|
|
509
|
-
CPPUNIT_ASSERT_MESSAGE(
|
|
511
|
+
CPPUNIT_ASSERT_MESSAGE(msg, hasTimeAttrs);
|
|
510
512
|
++numStatus;
|
|
511
513
|
} else if (update.has("int32PropertyReadOnly")) {
|
|
512
514
|
lastInt32 = update.get<int>("int32PropertyReadOnly");
|
|
513
515
|
++numInt32;
|
|
514
516
|
} else { // nothing else expected
|
|
515
|
-
CPPUNIT_ASSERT_MESSAGE(
|
|
517
|
+
CPPUNIT_ASSERT_MESSAGE(msg, false);
|
|
516
518
|
}
|
|
517
519
|
}
|
|
518
520
|
// Are all status updates received?
|
|
@@ -522,6 +524,42 @@ void DeviceClient_Test::testDeviceConfigurationsHandler() {
|
|
|
522
524
|
// Some throttling should have taken place (can we be 100% sure?)
|
|
523
525
|
CPPUNIT_ASSERT_LESS(numStatusUpdates, numInt32);
|
|
524
526
|
|
|
527
|
+
// Now check that a single "status" update does not trigger any additional handler call
|
|
528
|
+
// (as was still in 3.0.7...)
|
|
529
|
+
auto statusPromise = std::make_shared<std::promise<void>>();
|
|
530
|
+
auto statusFut = statusPromise->get_future();
|
|
531
|
+
auto lastCommandPromise = std::make_shared<std::promise<void>>();
|
|
532
|
+
auto lastCommandFut = lastCommandPromise->get_future();
|
|
533
|
+
updates.clear();
|
|
534
|
+
auto newHandler = [&updates, devId, statusPromise, lastCommandPromise](const Hash& changes) {
|
|
535
|
+
if (changes.has(devId)) {
|
|
536
|
+
const karabo::data::Hash& devUpdate = changes.get<Hash>(devId);
|
|
537
|
+
updates.push_back(devUpdate);
|
|
538
|
+
if (devUpdate.has("status")) {
|
|
539
|
+
statusPromise->set_value();
|
|
540
|
+
} else if (devUpdate.has("lastCommand")) {
|
|
541
|
+
lastCommandPromise->set_value();
|
|
542
|
+
}
|
|
543
|
+
}
|
|
544
|
+
};
|
|
545
|
+
m_deviceClient->registerDevicesMonitor(newHandler);
|
|
546
|
+
// -1: Only update "status"
|
|
547
|
+
CPPUNIT_ASSERT_NO_THROW(
|
|
548
|
+
m_deviceClient->execute(devId, "slotUpdateStatus", KRB_TEST_MAX_TIMEOUT, "A status update", -1));
|
|
549
|
+
result = statusFut.wait_for(std::chrono::seconds{KRB_TEST_MAX_TIMEOUT});
|
|
550
|
+
CPPUNIT_ASSERT_EQUAL(std::future_status::ready, result);
|
|
551
|
+
statusFut.get();
|
|
552
|
+
CPPUNIT_ASSERT_NO_THROW(m_deviceClient->execute(devId, "slotResetSchema", KRB_TEST_MAX_TIMEOUT));
|
|
553
|
+
result = lastCommandFut.wait_for(std::chrono::seconds{KRB_TEST_MAX_TIMEOUT});
|
|
554
|
+
CPPUNIT_ASSERT_EQUAL(std::future_status::ready, result);
|
|
555
|
+
lastCommandFut.get();
|
|
556
|
+
// Two updates: "status" and "lastCommand" (triggered by call of schema slot) and nothing else
|
|
557
|
+
CPPUNIT_ASSERT_EQUAL_MESSAGE(toString(updates), 2ul, updates.size());
|
|
558
|
+
CPPUNIT_ASSERT_EQUAL_MESSAGE(toString(updates[0]), 1ul, updates[0].size());
|
|
559
|
+
CPPUNIT_ASSERT_MESSAGE(toString(updates[0]), updates[0].has("status"));
|
|
560
|
+
CPPUNIT_ASSERT_EQUAL_MESSAGE(toString(updates[1]), 1ul, updates[1].size());
|
|
561
|
+
CPPUNIT_ASSERT_MESSAGE(toString(updates[1]), updates[1].has("lastCommand"));
|
|
562
|
+
|
|
525
563
|
// Reset again
|
|
526
564
|
m_deviceClient->setDeviceMonitorInterval(-1);
|
|
527
565
|
m_deviceClient->registerDevicesMonitor([](const karabo::data::Hash&) {}); // not reset, but now no-op...
|
|
@@ -619,6 +619,10 @@ void Schema_Test::testSlotElement() {
|
|
|
619
619
|
// karabo::data::ParameterException);
|
|
620
620
|
// But this one is forbidden due to interference with GUI client:
|
|
621
621
|
CPPUNIT_ASSERT_THROW(SLOT_ELEMENT(sch).key("clear_namespace"), karabo::data::ParameterException);
|
|
622
|
+
|
|
623
|
+
// With the 'strict' flag set to false one can widen a bit the set of allowed characters, e.g. '-'
|
|
624
|
+
CPPUNIT_ASSERT_THROW(SLOT_ELEMENT(sch).key("slot-some", true), karabo::data::ParameterException);
|
|
625
|
+
CPPUNIT_ASSERT_NO_THROW(SLOT_ELEMENT(sch).key("slot-some", false).commit());
|
|
622
626
|
}
|
|
623
627
|
|
|
624
628
|
|
|
@@ -1401,10 +1405,22 @@ void Schema_Test::testInvalidNodes() {
|
|
|
1401
1405
|
karabo::data::ParameterException);
|
|
1402
1406
|
|
|
1403
1407
|
constexpr char validCharacters[] =
|
|
1404
|
-
"abcdefghijklmnopqrstuvwxyz/" // tolerate `/`
|
|
1408
|
+
"abcdefghijklmnopqrstuvwxyz/" // tolerate `/` (might require strict=false in future)
|
|
1405
1409
|
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
|
1406
|
-
"0123456789_
|
|
1410
|
+
"0123456789_";
|
|
1407
1411
|
CPPUNIT_ASSERT_NO_THROW(INT8_ELEMENT(schema).key(validCharacters).readOnly().commit());
|
|
1412
|
+
CPPUNIT_ASSERT_NO_THROW(INT8_ELEMENT(schema).key(std::string("node.") += validCharacters).readOnly().commit());
|
|
1413
|
+
|
|
1414
|
+
// Check tolerance if requested to be not strict:
|
|
1415
|
+
std::string tolerated(valid);
|
|
1416
|
+
tolerated[1] = '@';
|
|
1417
|
+
CPPUNIT_ASSERT_NO_THROW(INT8_ELEMENT(schema).key(tolerated, false).readOnly().commit());
|
|
1418
|
+
CPPUNIT_ASSERT_THROW(INT8_ELEMENT(schema).key(tolerated), karabo::data::ParameterException);
|
|
1419
|
+
|
|
1420
|
+
// Now with two tolerated characters, one at the end
|
|
1421
|
+
tolerated.back() = '-';
|
|
1422
|
+
CPPUNIT_ASSERT_NO_THROW(INT8_ELEMENT(schema).key(tolerated, false).readOnly().commit());
|
|
1423
|
+
CPPUNIT_ASSERT_THROW(INT8_ELEMENT(schema).key(tolerated), karabo::data::ParameterException);
|
|
1408
1424
|
}
|
|
1409
1425
|
|
|
1410
1426
|
|