/* * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ #pragma once #include #include #include "pkgtools.h" #include "utils.h" namespace slack { class Slackpkg final : public Pkgtools { public: Slackpkg (const char *name, const char *mirror, std::uint8_t order, const char *blacklist, char **priority) noexcept; ~Slackpkg () noexcept; GSList *collect_cache_info (const char *tmpl) noexcept; void generate_cache (JobData *job_data, const char *tmpl) noexcept; private: static GHashTable *cat_map; static const std::size_t max_buf_size = 8192; char **priority = nullptr; void manifest (PkBackendJob *job, const char *tmpl, char *filename) noexcept; }; }