Adds further ext deps as-is binaries copies from customers env.
Qt6 Migration CI / migrate (push) Canceled after 0s

This commit is contained in:
torsten committed 2026-10-23 16:13:31 +00:00
1 parent 48129fdab2
commit 48d9b9bd49
3700 files changed
+2132394

No files matched your search

+51
View File
@@ -0,0 +1,51 @@
#pragma once
#include "ddkit/base/Thread.hpp"
#include "ddkit/access/ConfigLoaderDds.hpp"
#include "ddkit/access/DdsWrap.hpp"
#include "ddkit/access/System.hpp"
#include "ddkit/access/ICleanup.hpp"
#include "ddkit/utils/Logger.hpp"
#include <atomic>
namespace ddkit {
namespace access {
class Dispatcher : public base::Thread {
public:
explicit Dispatcher(const std::string& threadName);
Dispatcher(const std::string& threadName, std::shared_ptr<ICleanup> cleanup);
~Dispatcher();
void addReadCondition(const dds::sub::cond::ReadCondition& readCondition);
void removeReadCondition(const dds::sub::cond::ReadCondition& readCondition);
void requestCleanup();
// Thread
void run() override;
void onStop() override;
private:
// System has to be referenced because System::instance() call (and therefore instantiation of the singleton)
// has to happen before the waitset is initialized. Otherwise the waitset would access the policy first and
// the manipulation by System later will throw an exception because the policy is already immutable.
std::shared_ptr<access::ConfigLoaderDds> m_configLoaderDds; // contains System
std::shared_ptr<ICleanup> m_cleanup;
std::recursive_mutex m_addRemoveMutex;
dds::core::cond::WaitSet m_waitset;
dds::core::cond::GuardCondition m_guardCondition;
void callCleanupIf();
Dispatcher(Dispatcher const&) = delete;
void operator=(Dispatcher const&) = delete;
};
} // namespace access
} // namespace ddkit