diff --git a/lib/utils/message-dispatcher.hpp b/lib/utils/message-dispatcher.hpp index 2f78aa45..1bc766c3 100644 --- a/lib/utils/message-dispatcher.hpp +++ b/lib/utils/message-dispatcher.hpp @@ -9,6 +9,27 @@ namespace advss { template class MessageDispatcher { public: + MessageDispatcher() = default; + ~MessageDispatcher() = default; + MessageDispatcher(const MessageDispatcher &other) + : _clients(other._clients) + { + } + MessageDispatcher(MessageDispatcher &&other) noexcept + : _clients(other._clients) + { + } + MessageDispatcher &operator=(const MessageDispatcher &other) + { + _clients = other._clients; + return *this; + } + MessageDispatcher &operator=(MessageDispatcher &&other) noexcept + { + std::swap(_clients, other._clients); + return *this; + } + [[nodiscard]] std::shared_ptr> RegisterClient(); void DispatchMessage(const T &message);