// SPDX-FileCopyrightText: 2024 Yury Gubich // SPDX-License-Identifier: GPL-3.0-or-later #pragma once #include #include #include #include #include #include #include "component/config.h" class Message : public gloox::MessageHandler { private: typedef std::function Callback; public: Message(const std::shared_ptr& config, const std::shared_ptr& client, const Callback& callback); ~Message(); void handleMessage(const gloox::Message& message, gloox::MessageSession* session = 0) override; private: Callback callback; std::weak_ptr config; std::weak_ptr client; };