karabo.cpp 2.21.4__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-2.21.4/CMakeLists.txt +34 -0
- karabo_cpp-2.21.4/PKG-INFO +67 -0
- karabo_cpp-2.21.4/README.md +49 -0
- karabo_cpp-2.21.4/dist/karabo_cpp-2.21.4-cp312-cp312-manylinux_2_28_x86_64.whl +0 -0
- karabo_cpp-2.21.4/extern/build.sh +278 -0
- karabo_cpp-2.21.4/extern/builder_path_replace.py +341 -0
- karabo_cpp-2.21.4/extern/conanfile-bootstrap.txt +17 -0
- karabo_cpp-2.21.4/extern/conanfile-centos.txt +12 -0
- karabo_cpp-2.21.4/extern/conanfile.txt +73 -0
- karabo_cpp-2.21.4/extern/conanprofile.karabo +20 -0
- karabo_cpp-2.21.4/extern/karabo_deployer.py +18 -0
- karabo_cpp-2.21.4/extern/relocate_deps.sh +87 -0
- karabo_cpp-2.21.4/extern/requirements-0.txt +11 -0
- karabo_cpp-2.21.4/extern/requirements-1.txt +58 -0
- karabo_cpp-2.21.4/extern/requirements-pre.txt +9 -0
- karabo_cpp-2.21.4/extern/resources/daemontools/CMakeLists.txt +129 -0
- karabo_cpp-2.21.4/extern/resources/daemontools/conanfile.py +33 -0
- karabo_cpp-2.21.4/extern/resources/log4cpp/conanfile.py +52 -0
- karabo_cpp-2.21.4/extern/resources/log4cpp/replace_namespace.sh +60 -0
- karabo_cpp-2.21.4/extern/resources/nss/conandata.yml +40 -0
- karabo_cpp-2.21.4/extern/resources/nss/conanfile.py +210 -0
- karabo_cpp-2.21.4/mod_extern_conanfile.txt +65 -0
- karabo_cpp-2.21.4/prepare_extern.py +97 -0
- karabo_cpp-2.21.4/pyproject.toml +132 -0
- karabo_cpp-2.21.4/pyproject.toml.template +134 -0
- karabo_cpp-2.21.4/python/src/karabind/__init__.py +4 -0
- karabo_cpp-2.21.4/python/src/shims/__init__.py +0 -0
- karabo_cpp-2.21.4/python/src/shims/entrypoints.py +30 -0
- karabo_cpp-2.21.4/set_lsb_release_info.sh +50 -0
- karabo_cpp-2.21.4/src/CMakeLists.txt +203 -0
- karabo_cpp-2.21.4/src/brokerMessageLogger/CMakeLists.txt +48 -0
- karabo_cpp-2.21.4/src/brokerMessageLogger/brokerMessageLogger.cc +194 -0
- karabo_cpp-2.21.4/src/cmake/code-coverage.cmake +748 -0
- karabo_cpp-2.21.4/src/cmake/cxx-options.cmake +21 -0
- karabo_cpp-2.21.4/src/cmake/import_karabo_lib.cmake +93 -0
- karabo_cpp-2.21.4/src/cmake/karabo-lib-target-name.cmake +20 -0
- karabo_cpp-2.21.4/src/deviceServer/CMakeLists.txt +63 -0
- karabo_cpp-2.21.4/src/deviceServer/deviceServer.cc +102 -0
- karabo_cpp-2.21.4/src/karabind/CMakeLists.txt +108 -0
- karabo_cpp-2.21.4/src/karabind/ConfigurationTestClasses.cc +29 -0
- karabo_cpp-2.21.4/src/karabind/ConfigurationTestClasses.hh +947 -0
- karabo_cpp-2.21.4/src/karabind/FromNumpy.cc +66 -0
- karabo_cpp-2.21.4/src/karabind/FromNumpy.hh +63 -0
- karabo_cpp-2.21.4/src/karabind/HandlerWrap.cc +94 -0
- karabo_cpp-2.21.4/src/karabind/HandlerWrap.hh +255 -0
- karabo_cpp-2.21.4/src/karabind/PyCoreDeviceClient.cc +903 -0
- karabo_cpp-2.21.4/src/karabind/PyCoreLockWrap.cc +51 -0
- karabo_cpp-2.21.4/src/karabind/PyCoreLockWrap.hh +53 -0
- karabo_cpp-2.21.4/src/karabind/PyIoFileTools.cc +293 -0
- karabo_cpp-2.21.4/src/karabind/PyLogLogger.cc +103 -0
- karabo_cpp-2.21.4/src/karabind/PyNetConnectionChannel.cc +370 -0
- karabo_cpp-2.21.4/src/karabind/PyNetEventLoop.cc +89 -0
- karabo_cpp-2.21.4/src/karabind/PyTypes.hh +302 -0
- karabo_cpp-2.21.4/src/karabind/PyUtilAlarmElement.cc +88 -0
- karabo_cpp-2.21.4/src/karabind/PyUtilClassInfo.cc +40 -0
- karabo_cpp-2.21.4/src/karabind/PyUtilDateTimeString.cc +62 -0
- karabo_cpp-2.21.4/src/karabind/PyUtilDims.cc +86 -0
- karabo_cpp-2.21.4/src/karabind/PyUtilEpochstamp.cc +117 -0
- karabo_cpp-2.21.4/src/karabind/PyUtilException.cc +66 -0
- karabo_cpp-2.21.4/src/karabind/PyUtilHash.cc +980 -0
- karabo_cpp-2.21.4/src/karabind/PyUtilHashAttributes.cc +203 -0
- karabo_cpp-2.21.4/src/karabind/PyUtilHashNode.cc +153 -0
- karabo_cpp-2.21.4/src/karabind/PyUtilJsonToHashParser.cc +29 -0
- karabo_cpp-2.21.4/src/karabind/PyUtilNDArray.cc +29 -0
- karabo_cpp-2.21.4/src/karabind/PyUtilRollingWindowStatistics.cc +42 -0
- karabo_cpp-2.21.4/src/karabind/PyUtilSchema.cc +1210 -0
- karabo_cpp-2.21.4/src/karabind/PyUtilSchemaChoiceElement.cc +149 -0
- karabo_cpp-2.21.4/src/karabind/PyUtilSchemaElement.cc +302 -0
- karabo_cpp-2.21.4/src/karabind/PyUtilSchemaElement.hh +413 -0
- karabo_cpp-2.21.4/src/karabind/PyUtilSchemaListElement.cc +162 -0
- karabo_cpp-2.21.4/src/karabind/PyUtilSchemaNodeElement.cc +250 -0
- karabo_cpp-2.21.4/src/karabind/PyUtilSchemaOverwriteElement.cc +216 -0
- karabo_cpp-2.21.4/src/karabind/PyUtilSchemaTableElement.cc +151 -0
- karabo_cpp-2.21.4/src/karabind/PyUtilSchemaValidator.cc +74 -0
- karabo_cpp-2.21.4/src/karabind/PyUtilStateElement.cc +86 -0
- karabo_cpp-2.21.4/src/karabind/PyUtilTimeDuration.cc +113 -0
- karabo_cpp-2.21.4/src/karabind/PyUtilTimestamp.cc +65 -0
- karabo_cpp-2.21.4/src/karabind/PyUtilTrainstamp.cc +46 -0
- karabo_cpp-2.21.4/src/karabind/PyUtilTypesReferenceType.cc +84 -0
- karabo_cpp-2.21.4/src/karabind/PyXmsImageDataElement.cc +370 -0
- karabo_cpp-2.21.4/src/karabind/PyXmsInputOutputChannel.cc +502 -0
- karabo_cpp-2.21.4/src/karabind/PyXmsSignalSlotable.cc +895 -0
- karabo_cpp-2.21.4/src/karabind/PyXmsSlotElement.cc +130 -0
- karabo_cpp-2.21.4/src/karabind/PythonFactoryMacros.hh +91 -0
- karabo_cpp-2.21.4/src/karabind/ToNumpy.hh +57 -0
- karabo_cpp-2.21.4/src/karabind/Wrapper.cc +1070 -0
- karabo_cpp-2.21.4/src/karabind/Wrapper.hh +305 -0
- karabo_cpp-2.21.4/src/karabind/karabind.cc +127 -0
- karabo_cpp-2.21.4/src/karabind/karabind_test.cc +156 -0
- karabo_cpp-2.21.4/src/karabind/stubs/__init__.pyi +18 -0
- karabo_cpp-2.21.4/src/karabind/stubs/py.typed +15 -0
- karabo_cpp-2.21.4/src/karabo/CMakeLists.txt +246 -0
- karabo_cpp-2.21.4/src/karabo/cmake/activateKarabo.in +38 -0
- karabo_cpp-2.21.4/src/karabo/cmake/karaboPackageDependencies-GNU-Linux-x86.pc.in +13 -0
- karabo_cpp-2.21.4/src/karabo/core/BaseFsm.hh +73 -0
- karabo_cpp-2.21.4/src/karabo/core/CameraFsm.hh +222 -0
- karabo_cpp-2.21.4/src/karabo/core/Device.hh +2262 -0
- karabo_cpp-2.21.4/src/karabo/core/DeviceClient.cc +2315 -0
- karabo_cpp-2.21.4/src/karabo/core/DeviceClient.hh +1616 -0
- karabo_cpp-2.21.4/src/karabo/core/DeviceServer.cc +778 -0
- karabo_cpp-2.21.4/src/karabo/core/DeviceServer.hh +255 -0
- karabo_cpp-2.21.4/src/karabo/core/FsmBaseState.cc +41 -0
- karabo_cpp-2.21.4/src/karabo/core/FsmBaseState.hh +170 -0
- karabo_cpp-2.21.4/src/karabo/core/FsmMacros.hh +1511 -0
- karabo_cpp-2.21.4/src/karabo/core/InstanceChangeThrottler.cc +328 -0
- karabo_cpp-2.21.4/src/karabo/core/InstanceChangeThrottler.hh +237 -0
- karabo_cpp-2.21.4/src/karabo/core/Lock.cc +125 -0
- karabo_cpp-2.21.4/src/karabo/core/Lock.hh +119 -0
- karabo_cpp-2.21.4/src/karabo/core/NoFsm.hh +75 -0
- karabo_cpp-2.21.4/src/karabo/core/OkErrorFsm.hh +128 -0
- karabo_cpp-2.21.4/src/karabo/core/Runner.cc +434 -0
- karabo_cpp-2.21.4/src/karabo/core/Runner.hh +86 -0
- karabo_cpp-2.21.4/src/karabo/core/StartStopFsm.hh +169 -0
- karabo_cpp-2.21.4/src/karabo/core/StartStopInterface.hh +106 -0
- karabo_cpp-2.21.4/src/karabo/core/Worker.hh +388 -0
- karabo_cpp-2.21.4/src/karabo/core.hpp +38 -0
- karabo_cpp-2.21.4/src/karabo/devices/DataLogReader.cc +115 -0
- karabo_cpp-2.21.4/src/karabo/devices/DataLogReader.hh +139 -0
- karabo_cpp-2.21.4/src/karabo/devices/DataLogger.cc +652 -0
- karabo_cpp-2.21.4/src/karabo/devices/DataLogger.hh +262 -0
- karabo_cpp-2.21.4/src/karabo/devices/DataLoggerManager.cc +1606 -0
- karabo_cpp-2.21.4/src/karabo/devices/DataLoggerManager.hh +305 -0
- karabo_cpp-2.21.4/src/karabo/devices/FileDataLogger.cc +516 -0
- karabo_cpp-2.21.4/src/karabo/devices/FileDataLogger.hh +100 -0
- karabo_cpp-2.21.4/src/karabo/devices/FileLogReader.cc +1050 -0
- karabo_cpp-2.21.4/src/karabo/devices/FileLogReader.hh +208 -0
- karabo_cpp-2.21.4/src/karabo/devices/GuiServerDevice.cc +3349 -0
- karabo_cpp-2.21.4/src/karabo/devices/GuiServerDevice.hh +1340 -0
- karabo_cpp-2.21.4/src/karabo/devices/GuiServerTemporarySessionManager.cc +156 -0
- karabo_cpp-2.21.4/src/karabo/devices/GuiServerTemporarySessionManager.hh +189 -0
- karabo_cpp-2.21.4/src/karabo/devices/InfluxDataLogger.cc +1059 -0
- karabo_cpp-2.21.4/src/karabo/devices/InfluxDataLogger.hh +225 -0
- karabo_cpp-2.21.4/src/karabo/devices/InfluxLogReader.cc +1267 -0
- karabo_cpp-2.21.4/src/karabo/devices/InfluxLogReader.hh +297 -0
- karabo_cpp-2.21.4/src/karabo/devices/PropertyTest.cc +1267 -0
- karabo_cpp-2.21.4/src/karabo/devices/PropertyTest.hh +139 -0
- karabo_cpp-2.21.4/src/karabo/io/AbstractInput.hh +206 -0
- karabo_cpp-2.21.4/src/karabo/io/AbstractOutput.hh +99 -0
- karabo_cpp-2.21.4/src/karabo/io/BinaryFileInput.cc +32 -0
- karabo_cpp-2.21.4/src/karabo/io/BinaryFileInput.hh +148 -0
- karabo_cpp-2.21.4/src/karabo/io/BinaryFileOutput.cc +32 -0
- karabo_cpp-2.21.4/src/karabo/io/BinaryFileOutput.hh +162 -0
- karabo_cpp-2.21.4/src/karabo/io/BinarySerializer.hh +217 -0
- karabo_cpp-2.21.4/src/karabo/io/BufferSet.cc +263 -0
- karabo_cpp-2.21.4/src/karabo/io/BufferSet.hh +277 -0
- karabo_cpp-2.21.4/src/karabo/io/CppInputHandler.cc +28 -0
- karabo_cpp-2.21.4/src/karabo/io/CppInputHandler.hh +79 -0
- karabo_cpp-2.21.4/src/karabo/io/FileTools.cc +30 -0
- karabo_cpp-2.21.4/src/karabo/io/FileTools.hh +174 -0
- karabo_cpp-2.21.4/src/karabo/io/HashBinaryFileInput.cc +23 -0
- karabo_cpp-2.21.4/src/karabo/io/HashBinaryFileOutput.cc +23 -0
- karabo_cpp-2.21.4/src/karabo/io/HashBinarySerializer.cc +898 -0
- karabo_cpp-2.21.4/src/karabo/io/HashBinarySerializer.hh +302 -0
- karabo_cpp-2.21.4/src/karabo/io/HashInput.cc +23 -0
- karabo_cpp-2.21.4/src/karabo/io/HashOutput.cc +23 -0
- karabo_cpp-2.21.4/src/karabo/io/HashTextFileInput.cc +23 -0
- karabo_cpp-2.21.4/src/karabo/io/HashTextFileOutput.cc +23 -0
- karabo_cpp-2.21.4/src/karabo/io/HashXmlSerializer.cc +516 -0
- karabo_cpp-2.21.4/src/karabo/io/HashXmlSerializer.hh +143 -0
- karabo_cpp-2.21.4/src/karabo/io/Input.hh +68 -0
- karabo_cpp-2.21.4/src/karabo/io/InputElement.hh +99 -0
- karabo_cpp-2.21.4/src/karabo/io/InputHandler.hh +68 -0
- karabo_cpp-2.21.4/src/karabo/io/Output.hh +96 -0
- karabo_cpp-2.21.4/src/karabo/io/OutputElement.hh +112 -0
- karabo_cpp-2.21.4/src/karabo/io/OutputHandler.hh +43 -0
- karabo_cpp-2.21.4/src/karabo/io/SchemaBinaryFileInput.cc +23 -0
- karabo_cpp-2.21.4/src/karabo/io/SchemaBinaryFileOutput.cc +23 -0
- karabo_cpp-2.21.4/src/karabo/io/SchemaBinarySerializer.cc +80 -0
- karabo_cpp-2.21.4/src/karabo/io/SchemaBinarySerializer.hh +73 -0
- karabo_cpp-2.21.4/src/karabo/io/SchemaInput.cc +23 -0
- karabo_cpp-2.21.4/src/karabo/io/SchemaOutput.cc +23 -0
- karabo_cpp-2.21.4/src/karabo/io/SchemaTextFileInput.cc +23 -0
- karabo_cpp-2.21.4/src/karabo/io/SchemaTextFileOutput.cc +23 -0
- karabo_cpp-2.21.4/src/karabo/io/SchemaXmlSerializer.cc +68 -0
- karabo_cpp-2.21.4/src/karabo/io/SchemaXmlSerializer.hh +63 -0
- karabo_cpp-2.21.4/src/karabo/io/TextFileInput.cc +30 -0
- karabo_cpp-2.21.4/src/karabo/io/TextFileInput.hh +142 -0
- karabo_cpp-2.21.4/src/karabo/io/TextFileOutput.cc +32 -0
- karabo_cpp-2.21.4/src/karabo/io/TextFileOutput.hh +161 -0
- karabo_cpp-2.21.4/src/karabo/io/TextSerializer.hh +167 -0
- karabo_cpp-2.21.4/src/karabo/io/ioProfiler.hh +78 -0
- karabo_cpp-2.21.4/src/karabo/io.hpp +36 -0
- karabo_cpp-2.21.4/src/karabo/karabo.hpp +43 -0
- karabo_cpp-2.21.4/src/karabo/log/Logger.cc +619 -0
- karabo_cpp-2.21.4/src/karabo/log/Logger.hh +410 -0
- karabo_cpp-2.21.4/src/karabo/log/LoggerStream.hh +37 -0
- karabo_cpp-2.21.4/src/karabo/log/utils.cc +61 -0
- karabo_cpp-2.21.4/src/karabo/log/utils.hh +16 -0
- karabo_cpp-2.21.4/src/karabo/log.hpp +29 -0
- karabo_cpp-2.21.4/src/karabo/net/AmqpBroker.cc +490 -0
- karabo_cpp-2.21.4/src/karabo/net/AmqpBroker.hh +209 -0
- karabo_cpp-2.21.4/src/karabo/net/AmqpClient.cc +878 -0
- karabo_cpp-2.21.4/src/karabo/net/AmqpClient.hh +243 -0
- karabo_cpp-2.21.4/src/karabo/net/AmqpConnection.cc +537 -0
- karabo_cpp-2.21.4/src/karabo/net/AmqpConnection.hh +331 -0
- karabo_cpp-2.21.4/src/karabo/net/AmqpHashClient.cc +112 -0
- karabo_cpp-2.21.4/src/karabo/net/AmqpHashClient.hh +141 -0
- karabo_cpp-2.21.4/src/karabo/net/AmqpUtils.cc +91 -0
- karabo_cpp-2.21.4/src/karabo/net/AmqpUtils.hh +80 -0
- karabo_cpp-2.21.4/src/karabo/net/Broker.cc +131 -0
- karabo_cpp-2.21.4/src/karabo/net/Broker.hh +246 -0
- karabo_cpp-2.21.4/src/karabo/net/Channel.hh +778 -0
- karabo_cpp-2.21.4/src/karabo/net/Connection.cc +59 -0
- karabo_cpp-2.21.4/src/karabo/net/Connection.hh +121 -0
- karabo_cpp-2.21.4/src/karabo/net/EventLoop.cc +314 -0
- karabo_cpp-2.21.4/src/karabo/net/EventLoop.hh +206 -0
- karabo_cpp-2.21.4/src/karabo/net/HttpClient.cc +141 -0
- karabo_cpp-2.21.4/src/karabo/net/HttpClient.hh +73 -0
- karabo_cpp-2.21.4/src/karabo/net/HttpCommon.hh +57 -0
- karabo_cpp-2.21.4/src/karabo/net/HttpRequestRunner.cc +156 -0
- karabo_cpp-2.21.4/src/karabo/net/HttpRequestRunner.hh +73 -0
- karabo_cpp-2.21.4/src/karabo/net/HttpResponse.cc +154 -0
- karabo_cpp-2.21.4/src/karabo/net/HttpResponse.hh +89 -0
- karabo_cpp-2.21.4/src/karabo/net/HttpsRequestRunner.cc +175 -0
- karabo_cpp-2.21.4/src/karabo/net/HttpsRequestRunner.hh +78 -0
- karabo_cpp-2.21.4/src/karabo/net/InfluxDbClient.cc +764 -0
- karabo_cpp-2.21.4/src/karabo/net/InfluxDbClient.hh +324 -0
- karabo_cpp-2.21.4/src/karabo/net/InfluxDbClientUtils.cc +74 -0
- karabo_cpp-2.21.4/src/karabo/net/InfluxDbClientUtils.hh +49 -0
- karabo_cpp-2.21.4/src/karabo/net/NetworkInterface.cc +260 -0
- karabo_cpp-2.21.4/src/karabo/net/NetworkInterface.hh +84 -0
- karabo_cpp-2.21.4/src/karabo/net/Queues.hh +330 -0
- karabo_cpp-2.21.4/src/karabo/net/Strand.cc +179 -0
- karabo_cpp-2.21.4/src/karabo/net/Strand.hh +183 -0
- karabo_cpp-2.21.4/src/karabo/net/TcpChannel.cc +1730 -0
- karabo_cpp-2.21.4/src/karabo/net/TcpChannel.hh +619 -0
- karabo_cpp-2.21.4/src/karabo/net/TcpConnection.cc +361 -0
- karabo_cpp-2.21.4/src/karabo/net/TcpConnection.hh +126 -0
- karabo_cpp-2.21.4/src/karabo/net/UserAuthClient.cc +83 -0
- karabo_cpp-2.21.4/src/karabo/net/UserAuthClient.hh +76 -0
- karabo_cpp-2.21.4/src/karabo/net/utils.cc +187 -0
- karabo_cpp-2.21.4/src/karabo/net/utils.hh +93 -0
- karabo_cpp-2.21.4/src/karabo/net.hpp +35 -0
- karabo_cpp-2.21.4/src/karabo/tests/BrokerUtils.cc +100 -0
- karabo_cpp-2.21.4/src/karabo/tests/BrokerUtils.hh +35 -0
- karabo_cpp-2.21.4/src/karabo/tests/CMakeLists.txt +199 -0
- karabo_cpp-2.21.4/src/karabo/tests/WaitUtils.cc +36 -0
- karabo_cpp-2.21.4/src/karabo/tests/WaitUtils.hh +39 -0
- karabo_cpp-2.21.4/src/karabo/tests/core/DeviceClient_Test.cc +741 -0
- karabo_cpp-2.21.4/src/karabo/tests/core/DeviceClient_Test.hh +75 -0
- karabo_cpp-2.21.4/src/karabo/tests/core/InstanceChangeThrottler_Test.cc +661 -0
- karabo_cpp-2.21.4/src/karabo/tests/core/InstanceChangeThrottler_Test.hh +199 -0
- karabo_cpp-2.21.4/src/karabo/tests/core/Runner_Test.cc +179 -0
- karabo_cpp-2.21.4/src/karabo/tests/core/Runner_Test.hh +69 -0
- karabo_cpp-2.21.4/src/karabo/tests/core/testJsonToHashParsing.cc +89 -0
- karabo_cpp-2.21.4/src/karabo/tests/io/BufferSet_Test.cc +113 -0
- karabo_cpp-2.21.4/src/karabo/tests/io/BufferSet_Test.hh +45 -0
- karabo_cpp-2.21.4/src/karabo/tests/io/FileInputOutput_Test.cc +581 -0
- karabo_cpp-2.21.4/src/karabo/tests/io/FileInputOutput_Test.hh +78 -0
- karabo_cpp-2.21.4/src/karabo/tests/io/HashBinarySerializer_Test.cc +701 -0
- karabo_cpp-2.21.4/src/karabo/tests/io/HashBinarySerializer_Test.hh +60 -0
- karabo_cpp-2.21.4/src/karabo/tests/io/HashXmlSerializer_Test.cc +292 -0
- karabo_cpp-2.21.4/src/karabo/tests/io/HashXmlSerializer_Test.hh +63 -0
- karabo_cpp-2.21.4/src/karabo/tests/io/SchemaSerializer_Test.cc +324 -0
- karabo_cpp-2.21.4/src/karabo/tests/io/SchemaSerializer_Test.hh +49 -0
- karabo_cpp-2.21.4/src/karabo/tests/io/TestPathSetup.hh +37 -0
- karabo_cpp-2.21.4/src/karabo/tests/io/resources/.directory +5 -0
- karabo_cpp-2.21.4/src/karabo/tests/io/resources/etalonXML_readonly.xml +84 -0
- karabo_cpp-2.21.4/src/karabo/tests/io/resources/etalonXSD_readonly.xsd +111 -0
- karabo_cpp-2.21.4/src/karabo/tests/io/resources/expectedParamsTextFile.xsd +111 -0
- karabo_cpp-2.21.4/src/karabo/tests/io/resources/newTestXml.xml +84 -0
- karabo_cpp-2.21.4/src/karabo/tests/io/resources/testSchemaFile_readonly.xsd +242 -0
- karabo_cpp-2.21.4/src/karabo/tests/io/resources/xmlForReading_readonly.xml +72 -0
- karabo_cpp-2.21.4/src/karabo/tests/log/Logger_Test.cc +202 -0
- karabo_cpp-2.21.4/src/karabo/tests/log/Logger_Test.hh +88 -0
- karabo_cpp-2.21.4/src/karabo/tests/net/Amqp_Test.cc +1114 -0
- karabo_cpp-2.21.4/src/karabo/tests/net/Amqp_Test.hh +66 -0
- karabo_cpp-2.21.4/src/karabo/tests/net/Broker_Test.cc +751 -0
- karabo_cpp-2.21.4/src/karabo/tests/net/Broker_Test.hh +77 -0
- karabo_cpp-2.21.4/src/karabo/tests/net/EventLoop_Test.cc +264 -0
- karabo_cpp-2.21.4/src/karabo/tests/net/EventLoop_Test.hh +59 -0
- karabo_cpp-2.21.4/src/karabo/tests/net/HttpClient_Test.cc +73 -0
- karabo_cpp-2.21.4/src/karabo/tests/net/HttpClient_Test.hh +44 -0
- karabo_cpp-2.21.4/src/karabo/tests/net/InfluxDbClient_Test.cc +89 -0
- karabo_cpp-2.21.4/src/karabo/tests/net/InfluxDbClient_Test.hh +48 -0
- karabo_cpp-2.21.4/src/karabo/tests/net/MQTcpNetworking.cc +230 -0
- karabo_cpp-2.21.4/src/karabo/tests/net/MQTcpNetworking.hh +96 -0
- karabo_cpp-2.21.4/src/karabo/tests/net/NetworkInterface_Test.cc +105 -0
- karabo_cpp-2.21.4/src/karabo/tests/net/NetworkInterface_Test.hh +52 -0
- karabo_cpp-2.21.4/src/karabo/tests/net/ParseUrl_Test.cc +132 -0
- karabo_cpp-2.21.4/src/karabo/tests/net/ParseUrl_Test.hh +48 -0
- karabo_cpp-2.21.4/src/karabo/tests/net/ReadAsyncStringUntil_Test.cc +190 -0
- karabo_cpp-2.21.4/src/karabo/tests/net/ReadAsyncStringUntil_Test.hh +45 -0
- karabo_cpp-2.21.4/src/karabo/tests/net/Strand_Test.cc +249 -0
- karabo_cpp-2.21.4/src/karabo/tests/net/Strand_Test.hh +60 -0
- karabo_cpp-2.21.4/src/karabo/tests/net/TcpNetworking_Test.cc +1365 -0
- karabo_cpp-2.21.4/src/karabo/tests/net/TcpNetworking_Test.hh +76 -0
- karabo_cpp-2.21.4/src/karabo/tests/testRunner.cc +26 -0
- karabo_cpp-2.21.4/src/karabo/tests/testRunner.hh +78 -0
- karabo_cpp-2.21.4/src/karabo/tests/testRunnerNoLoop.cc +23 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/AlarmCondition_Test.cc +85 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/AlarmCondition_Test.hh +57 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/Base64_Test.cc +89 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/Base64_Test.hh +47 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/ByteSwap_Test.cc +59 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/ByteSwap_Test.hh +49 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/ClassInfo_Test.cc +56 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/ClassInfo_Test.hh +39 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/ConfigurationTestClasses.cc +33 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/ConfigurationTestClasses.hh +746 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/Configurator_Test.cc +410 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/Configurator_Test.hh +92 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/DataLogUtils_Test.cc +261 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/DataLogUtils_Test.hh +71 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/DateTimeString_Test.cc +1140 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/DateTimeString_Test.hh +70 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/Dims_Test.cc +142 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/Dims_Test.hh +47 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/Epochstamp_Test.cc +519 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/Epochstamp_Test.hh +70 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/Exception_Test.cc +391 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/Exception_Test.hh +48 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/Factory_Test.cc +164 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/Factory_Test.hh +101 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/HashFilter_Test.cc +807 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/HashFilter_Test.hh +59 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/Hash_Test.cc +2875 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/Hash_Test.hh +89 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/MetaTools_Test.cc +176 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/MetaTools_Test.hh +198 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/NDArray_Test.cc +190 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/NDArray_Test.hh +51 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/Schema_Test.cc +2472 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/Schema_Test.hh +217 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/Serializable_Test.cc +80 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/Serializable_Test.h +57 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/States_Test.cc +348 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/States_Test.hh +82 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/StatisticalEvaluator_Test.cc +374 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/StatisticalEvaluator_Test.hh +73 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/StringTools_Test.cc +411 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/StringTools_Test.hh +51 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/TimeClasses_Test.cc +551 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/TimeClasses_Test.hh +61 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/Types_Test.cc +266 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/Types_Test.hh +57 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/Validator_Test.cc +1428 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/Validator_Test.hh +134 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/Version_Test.cc +163 -0
- karabo_cpp-2.21.4/src/karabo/tests/util/Version_Test.hh +49 -0
- karabo_cpp-2.21.4/src/karabo/tests/xms/ImageData_Test.cc +257 -0
- karabo_cpp-2.21.4/src/karabo/tests/xms/ImageData_Test.hh +53 -0
- karabo_cpp-2.21.4/src/karabo/tests/xms/InputOutputChannel_Test.cc +1013 -0
- karabo_cpp-2.21.4/src/karabo/tests/xms/InputOutputChannel_Test.hh +87 -0
- karabo_cpp-2.21.4/src/karabo/tests/xms/Memory_Test.cc +81 -0
- karabo_cpp-2.21.4/src/karabo/tests/xms/Memory_Test.hh +52 -0
- karabo_cpp-2.21.4/src/karabo/tests/xms/SignalSlotable_Test.cc +1641 -0
- karabo_cpp-2.21.4/src/karabo/tests/xms/SignalSlotable_Test.hh +108 -0
- karabo_cpp-2.21.4/src/karabo/tests/xms/Signal_Test.cc +72 -0
- karabo_cpp-2.21.4/src/karabo/tests/xms/Signal_Test.hh +46 -0
- karabo_cpp-2.21.4/src/karabo/tests/xms/Slot_Test.cc +108 -0
- karabo_cpp-2.21.4/src/karabo/tests/xms/Slot_Test.hh +41 -0
- karabo_cpp-2.21.4/src/karabo/util/AlarmConditionElement.cc +67 -0
- karabo_cpp-2.21.4/src/karabo/util/AlarmConditionElement.hh +63 -0
- karabo_cpp-2.21.4/src/karabo/util/AlarmConditions.cc +153 -0
- karabo_cpp-2.21.4/src/karabo/util/AlarmConditions.hh +175 -0
- karabo_cpp-2.21.4/src/karabo/util/ArrayTools.hh +59 -0
- karabo_cpp-2.21.4/src/karabo/util/Base64.cc +143 -0
- karabo_cpp-2.21.4/src/karabo/util/Base64.hh +50 -0
- karabo_cpp-2.21.4/src/karabo/util/ByteArrayElement.hh +65 -0
- karabo_cpp-2.21.4/src/karabo/util/ByteSwap.cc +79 -0
- karabo_cpp-2.21.4/src/karabo/util/ByteSwap.hh +48 -0
- karabo_cpp-2.21.4/src/karabo/util/ChoiceElement.hh +190 -0
- karabo_cpp-2.21.4/src/karabo/util/ClassInfo.cc +156 -0
- karabo_cpp-2.21.4/src/karabo/util/ClassInfo.hh +106 -0
- karabo_cpp-2.21.4/src/karabo/util/Configurator.hh +748 -0
- karabo_cpp-2.21.4/src/karabo/util/CustomNodeElement.hh +325 -0
- karabo_cpp-2.21.4/src/karabo/util/DataLogUtils.cc +245 -0
- karabo_cpp-2.21.4/src/karabo/util/DataLogUtils.hh +187 -0
- karabo_cpp-2.21.4/src/karabo/util/DateTimeString.cc +348 -0
- karabo_cpp-2.21.4/src/karabo/util/DateTimeString.hh +259 -0
- karabo_cpp-2.21.4/src/karabo/util/Dims.hh +200 -0
- karabo_cpp-2.21.4/src/karabo/util/Element.hh +1050 -0
- karabo_cpp-2.21.4/src/karabo/util/Epochstamp.cc +316 -0
- karabo_cpp-2.21.4/src/karabo/util/Epochstamp.hh +407 -0
- karabo_cpp-2.21.4/src/karabo/util/Exception.cc +271 -0
- karabo_cpp-2.21.4/src/karabo/util/Exception.hh +549 -0
- karabo_cpp-2.21.4/src/karabo/util/Factory.hh +256 -0
- karabo_cpp-2.21.4/src/karabo/util/FromInt.cc +94 -0
- karabo_cpp-2.21.4/src/karabo/util/FromInt.hh +68 -0
- karabo_cpp-2.21.4/src/karabo/util/FromLiteral.cc +95 -0
- karabo_cpp-2.21.4/src/karabo/util/FromLiteral.hh +68 -0
- karabo_cpp-2.21.4/src/karabo/util/FromType.hh +60 -0
- karabo_cpp-2.21.4/src/karabo/util/FromTypeInfo.cc +81 -0
- karabo_cpp-2.21.4/src/karabo/util/FromTypeInfo.hh +68 -0
- karabo_cpp-2.21.4/src/karabo/util/GenericElement.hh +261 -0
- karabo_cpp-2.21.4/src/karabo/util/Hash.cc +1095 -0
- karabo_cpp-2.21.4/src/karabo/util/Hash.hh +1228 -0
- karabo_cpp-2.21.4/src/karabo/util/HashFilter.cc +211 -0
- karabo_cpp-2.21.4/src/karabo/util/HashFilter.hh +86 -0
- karabo_cpp-2.21.4/src/karabo/util/JsonToHashParser.cc +142 -0
- karabo_cpp-2.21.4/src/karabo/util/JsonToHashParser.hh +70 -0
- karabo_cpp-2.21.4/src/karabo/util/LeafElement.hh +626 -0
- karabo_cpp-2.21.4/src/karabo/util/ListElement.hh +205 -0
- karabo_cpp-2.21.4/src/karabo/util/MetaTools.hh +275 -0
- karabo_cpp-2.21.4/src/karabo/util/NDArray.cc +206 -0
- karabo_cpp-2.21.4/src/karabo/util/NDArray.hh +372 -0
- karabo_cpp-2.21.4/src/karabo/util/NodeElement.hh +157 -0
- karabo_cpp-2.21.4/src/karabo/util/OrderedMap.hh +783 -0
- karabo_cpp-2.21.4/src/karabo/util/OverwriteElement.cc +459 -0
- karabo_cpp-2.21.4/src/karabo/util/OverwriteElement.hh +695 -0
- karabo_cpp-2.21.4/src/karabo/util/PackParameters.hh +119 -0
- karabo_cpp-2.21.4/src/karabo/util/PathElement.hh +130 -0
- karabo_cpp-2.21.4/src/karabo/util/PluginLoader.cc +180 -0
- karabo_cpp-2.21.4/src/karabo/util/PluginLoader.hh +83 -0
- karabo_cpp-2.21.4/src/karabo/util/RollingWindowStatistics.cc +93 -0
- karabo_cpp-2.21.4/src/karabo/util/RollingWindowStatistics.hh +98 -0
- karabo_cpp-2.21.4/src/karabo/util/Schema.cc +1399 -0
- karabo_cpp-2.21.4/src/karabo/util/Schema.hh +1875 -0
- karabo_cpp-2.21.4/src/karabo/util/SimpleElement.hh +335 -0
- karabo_cpp-2.21.4/src/karabo/util/StackTrace.cc +98 -0
- karabo_cpp-2.21.4/src/karabo/util/StackTrace.hh +58 -0
- karabo_cpp-2.21.4/src/karabo/util/State.cc +295 -0
- karabo_cpp-2.21.4/src/karabo/util/State.hh +221 -0
- karabo_cpp-2.21.4/src/karabo/util/StateElement.cc +158 -0
- karabo_cpp-2.21.4/src/karabo/util/StateElement.hh +105 -0
- karabo_cpp-2.21.4/src/karabo/util/StateSignifier.cc +264 -0
- karabo_cpp-2.21.4/src/karabo/util/StateSignifier.hh +128 -0
- karabo_cpp-2.21.4/src/karabo/util/StringTools.cc +181 -0
- karabo_cpp-2.21.4/src/karabo/util/StringTools.hh +880 -0
- karabo_cpp-2.21.4/src/karabo/util/TableElement.cc +328 -0
- karabo_cpp-2.21.4/src/karabo/util/TableElement.hh +397 -0
- karabo_cpp-2.21.4/src/karabo/util/TimeDuration.cc +302 -0
- karabo_cpp-2.21.4/src/karabo/util/TimeDuration.hh +366 -0
- karabo_cpp-2.21.4/src/karabo/util/TimePeriod.cc +114 -0
- karabo_cpp-2.21.4/src/karabo/util/TimePeriod.hh +119 -0
- karabo_cpp-2.21.4/src/karabo/util/TimeProfiler.cc +255 -0
- karabo_cpp-2.21.4/src/karabo/util/TimeProfiler.hh +155 -0
- karabo_cpp-2.21.4/src/karabo/util/Timestamp.cc +98 -0
- karabo_cpp-2.21.4/src/karabo/util/Timestamp.hh +184 -0
- karabo_cpp-2.21.4/src/karabo/util/ToCppString.hh +102 -0
- karabo_cpp-2.21.4/src/karabo/util/ToLiteral.hh +103 -0
- karabo_cpp-2.21.4/src/karabo/util/ToSize.hh +61 -0
- karabo_cpp-2.21.4/src/karabo/util/ToType.hh +130 -0
- karabo_cpp-2.21.4/src/karabo/util/Trainstamp.cc +79 -0
- karabo_cpp-2.21.4/src/karabo/util/Trainstamp.hh +89 -0
- karabo_cpp-2.21.4/src/karabo/util/Types.hh +571 -0
- karabo_cpp-2.21.4/src/karabo/util/Units.hh +323 -0
- karabo_cpp-2.21.4/src/karabo/util/Validator.cc +1056 -0
- karabo_cpp-2.21.4/src/karabo/util/Validator.hh +237 -0
- karabo_cpp-2.21.4/src/karabo/util/VectorElement.hh +148 -0
- karabo_cpp-2.21.4/src/karabo/util/Version.cc +197 -0
- karabo_cpp-2.21.4/src/karabo/util/Version.hh +123 -0
- karabo_cpp-2.21.4/src/karabo/util/VersionMacros.in +9 -0
- karabo_cpp-2.21.4/src/karabo/util/karaboDll.hh +82 -0
- karabo_cpp-2.21.4/src/karabo/util.hpp +65 -0
- karabo_cpp-2.21.4/src/karabo/xms/ImageData.cc +442 -0
- karabo_cpp-2.21.4/src/karabo/xms/ImageData.hh +313 -0
- karabo_cpp-2.21.4/src/karabo/xms/InputChannel.cc +979 -0
- karabo_cpp-2.21.4/src/karabo/xms/InputChannel.hh +483 -0
- karabo_cpp-2.21.4/src/karabo/xms/Memory.cc +258 -0
- karabo_cpp-2.21.4/src/karabo/xms/Memory.hh +227 -0
- karabo_cpp-2.21.4/src/karabo/xms/OutputChannel.cc +1511 -0
- karabo_cpp-2.21.4/src/karabo/xms/OutputChannel.hh +667 -0
- karabo_cpp-2.21.4/src/karabo/xms/Signal.cc +177 -0
- karabo_cpp-2.21.4/src/karabo/xms/Signal.hh +174 -0
- karabo_cpp-2.21.4/src/karabo/xms/SignalSlotable.cc +3170 -0
- karabo_cpp-2.21.4/src/karabo/xms/SignalSlotable.hh +1464 -0
- karabo_cpp-2.21.4/src/karabo/xms/Slot.cc +107 -0
- karabo_cpp-2.21.4/src/karabo/xms/Slot.hh +115 -0
- karabo_cpp-2.21.4/src/karabo/xms/SlotElement.hh +161 -0
- karabo_cpp-2.21.4/src/karabo/xms/Statics.cc +35 -0
- karabo_cpp-2.21.4/src/karabo/xms/Statics.hh +73 -0
- karabo_cpp-2.21.4/src/karabo/xms.hpp +32 -0
- karabo_cpp-2.21.4/src/tools/brokerRates/CMakeLists.txt +49 -0
- karabo_cpp-2.21.4/src/tools/brokerRates/brokerRates.cpp +642 -0
- karabo_cpp-2.21.4/src/tools/dataLoggerIndex/CMakeLists.txt +72 -0
- karabo_cpp-2.21.4/src/tools/dataLoggerIndex/idxBuild.cc +432 -0
- karabo_cpp-2.21.4/src/tools/dataLoggerIndex/idxView.cc +75 -0
- karabo_cpp-2.21.4/src/tools/scripts/activate.tmpl +168 -0
- karabo_cpp-2.21.4/src/tools/scripts/karabo-inspectbrokertopic +110 -0
- karabo_cpp-2.21.4/src/tools/scripts/karabo-monitorjmsbroker +40 -0
- karabo_cpp-2.21.4/src/tools/scripts/karabo-querybroker +51 -0
- karabo_cpp-2.21.4/src/tools/scripts/karabo-startinfluxdb +61 -0
- karabo_cpp-2.21.4/src/tools/scripts/karabo-startopenmq +38 -0
- karabo_cpp-2.21.4/src/tools/scripts/karabo-startprojectdb +67 -0
- karabo_cpp-2.21.4/src/tools/scripts/karabo-startrabbitmq +78 -0
- karabo_cpp-2.21.4/src/tools/scripts/karabo-stopbroker +23 -0
- karabo_cpp-2.21.4/src/tools/scripts/karabo-stopinfluxdb +29 -0
- karabo_cpp-2.21.4/src/tools/scripts/karabo-stopprojectdb +29 -0
- karabo_cpp-2.21.4/src/tools/scripts/karabo-stoprabbitmq +30 -0
- karabo_cpp-2.21.4/wheel_tests/test_console.py +21 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# This file is part of Karabo.
|
|
2
|
+
#
|
|
3
|
+
# http://www.karabo.eu
|
|
4
|
+
#
|
|
5
|
+
# Copyright (C) European XFEL GmbH Schenefeld. All rights reserved.
|
|
6
|
+
#
|
|
7
|
+
# Karabo is free software: you can redistribute it and/or modify it under
|
|
8
|
+
# the terms of the MPL-2 Mozilla Public License.
|
|
9
|
+
#
|
|
10
|
+
# You should have received a copy of the MPL-2 Public License along with
|
|
11
|
+
# Karabo. If not, see <https://www.mozilla.org/en-US/MPL/2.0/>.
|
|
12
|
+
#
|
|
13
|
+
# Karabo is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
14
|
+
# WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
15
|
+
# FITNESS FOR A PARTICULAR PURPOSE.
|
|
16
|
+
|
|
17
|
+
cmake_minimum_required(VERSION 3.15)
|
|
18
|
+
|
|
19
|
+
project(karabo-cpp-root-node)
|
|
20
|
+
|
|
21
|
+
if (BUILD_UNIT_TESTING OR BUILD_INTEGRATION_TESTING OR BUILD_LONG_RUN_TESTING)
|
|
22
|
+
# If any test is being built, an enable_testing is needed at the root.
|
|
23
|
+
# Otherwise the file CTestTestfile.cmake. required to guide ctest in
|
|
24
|
+
# finding the tests will not be generated.
|
|
25
|
+
enable_testing()
|
|
26
|
+
endif()
|
|
27
|
+
|
|
28
|
+
add_subdirectory(src)
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
install(DIRECTORY extern/build/lib/ DESTINATION extern/lib)
|
|
32
|
+
install(DIRECTORY extern/build/licenses/ DESTINATION extern/licenses)
|
|
33
|
+
|
|
34
|
+
set_target_properties(karabind PROPERTIES PREFIX "")
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: karabo.cpp
|
|
3
|
+
Version: 2.21.4
|
|
4
|
+
Summary: Karabo's C++ API and Python bindings thereof
|
|
5
|
+
Keywords: Karabo,SCADA,async,control system
|
|
6
|
+
Author-Email: European XFEL GmbH <opensource@xfel.eu>
|
|
7
|
+
Maintainer-Email: "S. Hauf" <steffen.hauf@xfel.eu>, "D. Goeries" <dennis.goeries@xfel.eu>
|
|
8
|
+
License-Expression: MPL-2.0
|
|
9
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
10
|
+
Classifier: Intended Audience :: Developers
|
|
11
|
+
Classifier: Intended Audience :: Science/Research
|
|
12
|
+
Project-URL: Homepage, https://github.com/European-XFEL/Karabo
|
|
13
|
+
Project-URL: Bug Reports, https://github.com/European-XFEL/Karabo/issues
|
|
14
|
+
Project-URL: Source, https://github.com/European-XFEL/Karabo
|
|
15
|
+
Requires-Python: ==3.12.*
|
|
16
|
+
Requires-Dist: karabo-native==2.21.4
|
|
17
|
+
Description-Content-Type: text/markdown
|
|
18
|
+
|
|
19
|
+
# Karabo SCADA Framework - C++ API and Service Devices
|
|
20
|
+

|
|
21
|
+

|
|
22
|
+

|
|
23
|
+

|
|
24
|
+

|
|
25
|
+

|
|
26
|
+

|
|
27
|
+

|
|
28
|
+

|
|
29
|
+

|
|
30
|
+
|
|
31
|
+
This package exposes the C++ API and C++ Service devices of the Karabo
|
|
32
|
+
SCADA framework.
|
|
33
|
+
|
|
34
|
+
Please check https://pypi.org/project/Karabo/ for an overview of Karabo's components
|
|
35
|
+
and ways to install the full system.
|
|
36
|
+
|
|
37
|
+
# Supported Operating Systems
|
|
38
|
+
|
|
39
|
+
The OS are tested are:
|
|
40
|
+
|
|
41
|
+
> Almalinux 8/9
|
|
42
|
+
> Ubuntu 20.04/22.04 LTS
|
|
43
|
+
> RedHat 9
|
|
44
|
+
|
|
45
|
+
A source distribution is provided, but may lead to compilation failures on systems not
|
|
46
|
+
supported through the binary wheel packages as well. If compilation fails, please
|
|
47
|
+
install Karabo as indicated in the source repository at https://github.com/European-XFEL/Karabo
|
|
48
|
+
|
|
49
|
+
# Installation
|
|
50
|
+
|
|
51
|
+
To install run
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
pip install karabo.cpp
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
or use the `full` or `cpp` options when installing the `karabo` package:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
pip install karabo[full]
|
|
61
|
+
pip install karabo[cpp]
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
# C++ Device Development
|
|
65
|
+
|
|
66
|
+
The recommended way of developing Karabo C++ devices is to build a self-contained Karabo
|
|
67
|
+
environment following the instructions at https://github.com/European-XFEL/Karabo.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Karabo SCADA Framework - C++ API and Service Devices
|
|
2
|
+

|
|
3
|
+

|
|
4
|
+

|
|
5
|
+

|
|
6
|
+

|
|
7
|
+

|
|
8
|
+

|
|
9
|
+

|
|
10
|
+

|
|
11
|
+

|
|
12
|
+
|
|
13
|
+
This package exposes the C++ API and C++ Service devices of the Karabo
|
|
14
|
+
SCADA framework.
|
|
15
|
+
|
|
16
|
+
Please check https://pypi.org/project/Karabo/ for an overview of Karabo's components
|
|
17
|
+
and ways to install the full system.
|
|
18
|
+
|
|
19
|
+
# Supported Operating Systems
|
|
20
|
+
|
|
21
|
+
The OS are tested are:
|
|
22
|
+
|
|
23
|
+
> Almalinux 8/9
|
|
24
|
+
> Ubuntu 20.04/22.04 LTS
|
|
25
|
+
> RedHat 9
|
|
26
|
+
|
|
27
|
+
A source distribution is provided, but may lead to compilation failures on systems not
|
|
28
|
+
supported through the binary wheel packages as well. If compilation fails, please
|
|
29
|
+
install Karabo as indicated in the source repository at https://github.com/European-XFEL/Karabo
|
|
30
|
+
|
|
31
|
+
# Installation
|
|
32
|
+
|
|
33
|
+
To install run
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
pip install karabo.cpp
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
or use the `full` or `cpp` options when installing the `karabo` package:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
pip install karabo[full]
|
|
43
|
+
pip install karabo[cpp]
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
# C++ Device Development
|
|
47
|
+
|
|
48
|
+
The recommended way of developing Karabo C++ devices is to build a self-contained Karabo
|
|
49
|
+
environment following the instructions at https://github.com/European-XFEL/Karabo.
|
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
##############################################################################
|
|
4
|
+
# Packages that we know how to build
|
|
5
|
+
|
|
6
|
+
scriptDir=$(dirname $([[ $0 = /* ]] && echo "$0" || echo "$PWD/${0#./}"))
|
|
7
|
+
source "$scriptDir/../set_lsb_release_info.sh"
|
|
8
|
+
|
|
9
|
+
##############################################################################
|
|
10
|
+
# Important constants
|
|
11
|
+
|
|
12
|
+
CONAN_RECIPE_CHANNEL=py312
|
|
13
|
+
LOG4CPP_VERSION=1.1.3
|
|
14
|
+
DAEMONTOOLS_VERSION=1.11-karabo3
|
|
15
|
+
NSS_VERSION=3.93
|
|
16
|
+
|
|
17
|
+
declare -A CONAN_MIRRORS=(
|
|
18
|
+
["GNU_DOGADO"]="http://mirror.dogado.de/gnu/"
|
|
19
|
+
["GNU_FAU"]="http://ftp.fau.de/gnu"
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
##############################################################################
|
|
23
|
+
# Define a bunch of functions to be called later
|
|
24
|
+
|
|
25
|
+
check_for() {
|
|
26
|
+
which $1 &>/dev/null
|
|
27
|
+
if [ $? -ne 0 ]; then
|
|
28
|
+
return 1
|
|
29
|
+
fi
|
|
30
|
+
|
|
31
|
+
# Installed and ready!
|
|
32
|
+
return 0
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
get_abs_path() {
|
|
36
|
+
local parent_dir=$(dirname "$1")
|
|
37
|
+
local _basename=$(basename "$1")
|
|
38
|
+
case $_basename in
|
|
39
|
+
..)
|
|
40
|
+
cd "$1"
|
|
41
|
+
local abs_path="$(pwd -P)"
|
|
42
|
+
;;
|
|
43
|
+
*)
|
|
44
|
+
cd "$parent_dir"
|
|
45
|
+
local abs_path="$(pwd -P)"/"$_basename"
|
|
46
|
+
;;
|
|
47
|
+
esac
|
|
48
|
+
cd - >/dev/null
|
|
49
|
+
echo "$abs_path"
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
checkReturnCode() {
|
|
53
|
+
ret_code=$?
|
|
54
|
+
if [ $ret_code != 0 ]; then
|
|
55
|
+
if [ -n "$1" ]; then
|
|
56
|
+
# if the output is present, print it in case of error
|
|
57
|
+
cat $1 >&1
|
|
58
|
+
# remove the temporary file before exiting
|
|
59
|
+
rm -f $1
|
|
60
|
+
# redirect the filedescriptor 3 to stdout as is tradition
|
|
61
|
+
exec 3>&1
|
|
62
|
+
fi
|
|
63
|
+
printf "Error : [%d] when executing command: '$cmnd'" $ret_code
|
|
64
|
+
exit $ret_code
|
|
65
|
+
fi
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
safeRunCommand() {
|
|
69
|
+
typeset cmnd="$*"
|
|
70
|
+
typeset ret_code
|
|
71
|
+
|
|
72
|
+
echo cmnd=$cmnd
|
|
73
|
+
eval $cmnd
|
|
74
|
+
checkReturnCode ""
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
safeRunCommandQuiet() {
|
|
78
|
+
local cmnd="$*"
|
|
79
|
+
local ret_code
|
|
80
|
+
|
|
81
|
+
tmp_output=$(mktemp)
|
|
82
|
+
echo cmnd=$cmnd
|
|
83
|
+
# redirect the stream with file descriptor 3 to the temporary file
|
|
84
|
+
exec 3>"$tmp_output"
|
|
85
|
+
# execute the command redirecting the output to 3
|
|
86
|
+
eval $cmnd >&3 2>&3
|
|
87
|
+
# `checkReturnCode` will print the output even in quiet mode.
|
|
88
|
+
checkReturnCode $tmp_output
|
|
89
|
+
# remove the temporary file to clean up
|
|
90
|
+
rm -f $tmp_output
|
|
91
|
+
# redirect the filedescriptor 3 to stdout as is tradition
|
|
92
|
+
exec 3>&1
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
add_conan_mirrors() {
|
|
96
|
+
# Setup mirrors for conan to look for
|
|
97
|
+
for mirror in "${!CONAN_MIRRORS[@]}"; do
|
|
98
|
+
mirror_url="${CONAN_MIRRORS[$mirror]}"
|
|
99
|
+
if conan remote list | grep -q "$mirror_url"; then
|
|
100
|
+
echo "Remote $mirror is already added."
|
|
101
|
+
else
|
|
102
|
+
echo "Adding remote $mirror with URL $mirror_url"
|
|
103
|
+
safeRunCommandQuiet conan remote add "$mirror" "$mirror_url"
|
|
104
|
+
fi
|
|
105
|
+
done
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
install_python() {
|
|
109
|
+
pushd $scriptDir
|
|
110
|
+
|
|
111
|
+
safeRunCommandQuiet "rm -rf $INSTALL_PREFIX/conan_toolchain"
|
|
112
|
+
|
|
113
|
+
# create default build profile
|
|
114
|
+
safeRunCommandQuiet "conan profile detect --force"
|
|
115
|
+
|
|
116
|
+
add_conan_mirrors
|
|
117
|
+
# configure prefix paths
|
|
118
|
+
local folder_opts="--deployer=karabo_deployer --deployer-folder=$INSTALL_PREFIX --output-folder=$INSTALL_PREFIX/conan_toolchain"
|
|
119
|
+
# build python if not found in conan cache
|
|
120
|
+
local build_opts="--build=missing"
|
|
121
|
+
# apply custom profile on top of default profile
|
|
122
|
+
local profile_opts="-pr:h=./conanprofile.karabo"
|
|
123
|
+
# always compile patchelf, b2, openssl from source (needed later), ensures linkage against correct GLIBC version symbols
|
|
124
|
+
# (Still needed after removal of opemq(c)?)
|
|
125
|
+
build_opts="$build_opts -o openssl/*:openssldir=/etc/ssl"
|
|
126
|
+
# install packages listed in the extern/conanfile-bootstrap.txt
|
|
127
|
+
if [[ $INSTALL_PREFIX == *"Ubuntu-20"* ]]; then
|
|
128
|
+
# Work around a failure for building the conan package "cpython/3.12.2"
|
|
129
|
+
# on Ubuntu 20. For an unknown reason the "configure" that ships with the
|
|
130
|
+
# cpython source package fails to check that the function "shm_open" is
|
|
131
|
+
# exported by "librt.so". The same "configure" works as expected on the
|
|
132
|
+
# same Ubuntu 20 system during a manual installation of cpython from source.
|
|
133
|
+
# Details at https://git.xfel.eu/Karabo/Framework/-/merge_requests/8551#note_467905
|
|
134
|
+
export POSIXSHMEM_LIBS="-lrt"
|
|
135
|
+
fi
|
|
136
|
+
safeRunCommandQuiet "conan install conanfile-bootstrap.txt $folder_opts $build_opts $profile_opts"
|
|
137
|
+
|
|
138
|
+
# ensure that python can always find its libpython.so
|
|
139
|
+
safeRunCommand "$INSTALL_PREFIX/bin/patchelf --force-rpath --set-rpath '\$ORIGIN/../lib' $INSTALL_PREFIX/bin/python3.12"
|
|
140
|
+
|
|
141
|
+
# use pip in INSTALL_PREFIX by calling python3 -m pip <args>
|
|
142
|
+
local pip_install_cmd="$INSTALL_PREFIX/bin/python3 -m pip install"
|
|
143
|
+
|
|
144
|
+
# install python requirements
|
|
145
|
+
# we do this in multiple stages, as pip has issues resolving a
|
|
146
|
+
# too complex dependency chain with many pinned versions.
|
|
147
|
+
safeRunCommandQuiet "$pip_install_cmd --force-reinstall -r requirements-pre.txt"
|
|
148
|
+
# important dependencies that many other packages will need
|
|
149
|
+
# (ie: numpy) are installed first
|
|
150
|
+
safeRunCommandQuiet "$pip_install_cmd -r requirements-0.txt"
|
|
151
|
+
# install everything else
|
|
152
|
+
safeRunCommandQuiet "$pip_install_cmd -r requirements-1.txt"
|
|
153
|
+
|
|
154
|
+
popd
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
install_from_deps() {
|
|
158
|
+
pushd $scriptDir
|
|
159
|
+
|
|
160
|
+
# create default build profile
|
|
161
|
+
safeRunCommandQuiet "$INSTALL_PREFIX/bin/conan profile detect --force"
|
|
162
|
+
|
|
163
|
+
add_conan_mirrors
|
|
164
|
+
# export local conan recipes (for packages where no public recipe exists
|
|
165
|
+
# we keep custom conan recipes in extern/resources/<pkg_name>)
|
|
166
|
+
safeRunCommandQuiet "$INSTALL_PREFIX/bin/conan export ./resources/daemontools/conanfile.py --name daemontools-encore --version $DAEMONTOOLS_VERSION --user karabo --channel $CONAN_RECIPE_CHANNEL"
|
|
167
|
+
safeRunCommandQuiet "$INSTALL_PREFIX/bin/conan export ./resources/nss/conanfile.py --name nss --version $NSS_VERSION --user karabo --channel $CONAN_RECIPE_CHANNEL"
|
|
168
|
+
|
|
169
|
+
# configure prefix paths
|
|
170
|
+
local folder_opts="--deployer=karabo_deployer --deployer-folder=$INSTALL_PREFIX --output-folder=$INSTALL_PREFIX/conan_toolchain"
|
|
171
|
+
# when should conan build from sources? missing means if no pre-compiled binary package exists
|
|
172
|
+
local build_opts="--build=missing"
|
|
173
|
+
# apply custom profile on top of default profile
|
|
174
|
+
local profile_opts="-pr:h=./conanprofile.karabo"
|
|
175
|
+
|
|
176
|
+
# always compile openssl from source (needed later), ensures linkage against correct GLIBC version symbols
|
|
177
|
+
# (Still needed after removal of openmq(c)?)
|
|
178
|
+
build_opts="$build_opts -o openssl/*:openssldir=/etc/ssl"
|
|
179
|
+
|
|
180
|
+
# install packages listed in the extern/conanfile.txt
|
|
181
|
+
safeRunCommandQuiet "$INSTALL_PREFIX/bin/conan install . $folder_opts $build_opts $profile_opts"
|
|
182
|
+
# fix read-only files installed by nss (to enable conan reinstalls)
|
|
183
|
+
safeRunCommandQuiet "chmod +w $INSTALL_PREFIX/include/*"
|
|
184
|
+
|
|
185
|
+
# fix rpaths
|
|
186
|
+
# Relocate the libraries/executables
|
|
187
|
+
safeRunCommand "find $INSTALL_PREFIX/lib -maxdepth 1 -name '*.so' -exec $INSTALL_PREFIX/bin/patchelf --force-rpath --set-rpath '\$ORIGIN/../lib' {} \;"
|
|
188
|
+
safeRunCommandQuiet "./relocate_deps.sh $INSTALL_PREFIX"
|
|
189
|
+
|
|
190
|
+
# for whatever reason conan does not reliably copy *.pc files from its root directory
|
|
191
|
+
# we do this here instead, and also capture any .pc files our from source builds created
|
|
192
|
+
# in the process.
|
|
193
|
+
safeRunCommandQuiet "mkdir -p $INSTALL_PREFIX/lib/pkgconfig/"
|
|
194
|
+
cp $INSTALL_PREFIX/conan_toolchain/*.pc $INSTALL_PREFIX/lib/pkgconfig/
|
|
195
|
+
# now fix occurences of prefixes such that packages can use the "--define-prefix" option
|
|
196
|
+
# of pkgconfig
|
|
197
|
+
sed -i 's|prefix=.*|prefix=\${KARABO}/extern|g' $INSTALL_PREFIX/lib/pkgconfig/*.pc
|
|
198
|
+
sed -i 's|libdir=.*|libdir=\${prefix}/lib|g' $INSTALL_PREFIX/lib/pkgconfig/*.pc
|
|
199
|
+
sed -i 's|includedir=.*|includedir=\${prefix}/include|g' $INSTALL_PREFIX/lib/pkgconfig/*.pc
|
|
200
|
+
sed -i 's|exec_prefix=.*|exec_prefix=\${prefix}|g' $INSTALL_PREFIX/lib/pkgconfig/*.pc
|
|
201
|
+
|
|
202
|
+
popd
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
usage() {
|
|
206
|
+
echo
|
|
207
|
+
echo "Build the Karabo Dependencies"
|
|
208
|
+
echo
|
|
209
|
+
echo "Usage: $0 [args] INSTALL_DIRECTORY CI|ALL"
|
|
210
|
+
echo " INSTALL_DIRECTORY : The directory where build artifacts are installed"
|
|
211
|
+
echo " CI|ALL : The type of build to perform"
|
|
212
|
+
echo "Arguments:"
|
|
213
|
+
echo " --package | -p : After building, make a tarball of the install directory"
|
|
214
|
+
echo " --quiet | -q : Suppress output of build commands"
|
|
215
|
+
echo
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
##############################################################################
|
|
219
|
+
# We start executing here
|
|
220
|
+
|
|
221
|
+
# Parse command line args (anything starting with '-')
|
|
222
|
+
BUILD_PACKAGE="n"
|
|
223
|
+
QUIET=""
|
|
224
|
+
until [ ${1:0:1} != "-" ]; do
|
|
225
|
+
case $1 in
|
|
226
|
+
--package | -p)
|
|
227
|
+
BUILD_PACKAGE="y"
|
|
228
|
+
;;
|
|
229
|
+
--quiet | -q)
|
|
230
|
+
QUIET="-q"
|
|
231
|
+
;;
|
|
232
|
+
*)
|
|
233
|
+
echo "Unrecognized argument '$1'"
|
|
234
|
+
usage
|
|
235
|
+
exit 1
|
|
236
|
+
;;
|
|
237
|
+
esac
|
|
238
|
+
shift
|
|
239
|
+
done
|
|
240
|
+
|
|
241
|
+
##############################################################################
|
|
242
|
+
# (Following all the arguments preceded by '-' or '--')
|
|
243
|
+
# $1 INSTALL_PREFIX Installation prefix
|
|
244
|
+
# $2+ WHAT Which packages to build (symbolic or specific)
|
|
245
|
+
EXTERN_DIR=$(dirname $0)
|
|
246
|
+
INSTALL_PREFIX=$(get_abs_path $1)
|
|
247
|
+
TARGET_ARCH=$(uname -m)
|
|
248
|
+
WHAT=${@:2}
|
|
249
|
+
FORCE="n"
|
|
250
|
+
|
|
251
|
+
# Make sure conan is available
|
|
252
|
+
check_for conan
|
|
253
|
+
if [ $? -ne 0 ]; then
|
|
254
|
+
echo
|
|
255
|
+
echo
|
|
256
|
+
echo "!!! 'conan' command not found!"
|
|
257
|
+
echo "Please install 'conan' so that dependencies can be downloaded!"
|
|
258
|
+
echo
|
|
259
|
+
echo
|
|
260
|
+
# Give the user time to see the message
|
|
261
|
+
sleep 2
|
|
262
|
+
return 1
|
|
263
|
+
else
|
|
264
|
+
# Make aware of which conan is used
|
|
265
|
+
conan --version
|
|
266
|
+
fi
|
|
267
|
+
|
|
268
|
+
# python download and install to allow full bootstrap
|
|
269
|
+
# install framework python dependencies via pip
|
|
270
|
+
check_for $INSTALL_PREFIX/bin/python
|
|
271
|
+
if [ $? -ne 0 ]; then
|
|
272
|
+
install_python
|
|
273
|
+
fi
|
|
274
|
+
|
|
275
|
+
# install framework build dependencies via conan
|
|
276
|
+
install_from_deps
|
|
277
|
+
|
|
278
|
+
echo "### All external dependencies successfully installed/already present. ###"
|