// SPDX-FileCopyrightText: 2024 Yury Gubich // SPDX-License-Identifier: GPL-3.0-or-later #pragma once #include #include #include #include #include #include #include #include #include #include "logger.h" class Jay : public gloox::MessageHandler, public gloox::ConnectionListener { public: Jay(const std::string& jid, const std::string& password); ~Jay(); void handleMessage(const gloox::Message& message, gloox::MessageSession* session = 0) override; void onConnect() override; void onDisconnect(gloox::ConnectionError e) override; bool onTLSConnect(const gloox::CertInfo&) override; void run(); Logger* addLogger(gloox::LogLevel level); void addOwner(const std::string& jid); private: gloox::Client client; std::vector> loggers; std::set owners; };