// SPDX-FileCopyrightText: 2024 Yury Gubich <blue@macaw.me>
// SPDX-License-Identifier: GPL-3.0-or-later

#include "module.h"

#include "gloox/message.h"

Module::Module::Module(const std::shared_ptr<Core>& core, const std::shared_ptr<Connection>& connection):
    core(core),
    connection(connection)
{}

Module::Module::~Module() noexcept {}

std::vector<std::string> Module::Module::split(const std::string& string, const std::string& delimiter) {
    std::vector<std::string> result;

    std::size_t last = 0;
    std::size_t next = string.find(delimiter, last);
    while (next != std::string::npos) {
        result.emplace_back(string.substr(last, next - last));
        last = next + 1;
        next = string.find(delimiter, last);
    }
    result.emplace_back(string.substr(last));

    return result;
}