Adds further ext deps as-is binaries copies from customers env.
Qt6 Migration CI / migrate (push) Canceled after 0s
Qt6 Migration CI / migrate (push) Canceled after 0s
This commit is contained in:
3700 files changed
+2132394
No files matched your search
@@ -0,0 +1,59 @@
|
||||
#pragma once
|
||||
|
||||
#include "ddkit/base/ThreadInline.hpp"
|
||||
#include "ddkit/access/ConfigLoaderDds.hpp"
|
||||
#include "ddkit/actors/CallbackInfo.hpp"
|
||||
|
||||
#include <memory>
|
||||
#include <mutex>
|
||||
#include <vector>
|
||||
#include <map>
|
||||
|
||||
namespace ddkit {
|
||||
namespace actors {
|
||||
|
||||
class SessionImpl;
|
||||
typedef std::shared_ptr<SessionImpl> SessionImplPtr;
|
||||
typedef std::weak_ptr<SessionImpl> SessionImplWeakPtr;
|
||||
|
||||
class SessionManager {
|
||||
|
||||
public:
|
||||
static SessionManager& instance();
|
||||
|
||||
SessionImplPtr createSessionImpl(int domain, bool isMonitor); // called from SessionImpl
|
||||
|
||||
SessionImplPtr findSession(const std::string& sessionId); // called from BackwardManager
|
||||
|
||||
void removeExpiredSessions(); // called from BackwardManager, MonitorSession, Session
|
||||
void removeSession(const std::string& sessionId);
|
||||
|
||||
void setCallbackInfo(const CallbackInfo& callbackInfo); // called from ActorImpl
|
||||
void resetCallbackInfo(); // called from ActorImpl, generated Code
|
||||
CallbackInfo callbackInfo(); // called from ActorImpl, BackwardManager, CallbackInfo, generated Code
|
||||
|
||||
bool isClean() const;
|
||||
|
||||
private:
|
||||
std::shared_ptr<access::ConfigLoaderDds> m_configLoaderDds;
|
||||
|
||||
std::mutex m_sessionMutex;
|
||||
std::map<std::string, SessionImplWeakPtr> m_sessionId2sessionImpl; // holding map for sessions
|
||||
|
||||
std::mutex m_callbackMutex;
|
||||
std::map<std::string, CallbackInfo> m_threadId2callbackInfo; // per thread (typically one entry - while callback)
|
||||
|
||||
SessionManager();
|
||||
~SessionManager();
|
||||
|
||||
bool hasSession(const std::string& sessionId);
|
||||
bool hasSessions();
|
||||
|
||||
// no copying
|
||||
SessionManager(SessionManager const&) = delete;
|
||||
SessionManager(SessionManager&&) = delete;
|
||||
void operator=(SessionManager const&) = delete;
|
||||
};
|
||||
|
||||
} // namespace actors
|
||||
} // namespace ddkit
|
||||
Reference in new issue
Block a user