Files
2026-10-23 16:13:31 +00:00

45 lines
985 B
C++

#pragma once
#include "ddkit/actors/ActorInfo.hpp"
#include <string>
#include <memory>
#include <vector>
namespace ddkit {
namespace actors {
class SessionImpl;
typedef std::shared_ptr<SessionImpl> SessionImplPtr;
/// @brief Typically there should be only one Session per domain.
class Session final {
public:
Session(int domain);
~Session();
std::string sessionId();
std::vector<ServiceInfo> findServices(const std::string& module);
std::vector<ClientInfo> findClients(const std::string& module);
std::vector<ClientInfo> findClients(const std::string& serviceName, const std::string& module);
private:
friend class SessionImpl;
SessionImplPtr m_sessionImpl;
SessionImpl& sessionImpl();
Session() = delete;
// no copying
Session(Session const&) = delete;
Session(Session&&) = delete;
void operator=(Session const&) = delete;
void operator=(Session&&) = delete;
};
} // namespace actors
} // namespace ddkit