/* * Copyright (C) 2018 Red Hat, Inc. * * Licensed under the GNU Lesser General Public License Version 2.1 * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef _LIBDNF_CONFIG_REPO_HPP #define _LIBDNF_CONFIG_REPO_HPP #ifdef LIBDNF_UNSTABLE_API #include "ConfigMain.hpp" #include "OptionChild.hpp" #include namespace libdnf { /** * @class ConfigRepo * * @brief Holds repo configuration options * * Default values of some options are inherited from ConfigMain. * */ class ConfigRepo : public Config { public: ConfigRepo(ConfigMain & masterConfig); ~ConfigRepo(); ConfigRepo(ConfigRepo && src); ConfigMain & getMasterConfig(); OptionString & name(); OptionChild & enabled(); OptionChild & basecachedir(); OptionStringList & baseurl(); OptionString & mirrorlist(); OptionString & metalink(); OptionString & type(); OptionString & mediaid(); OptionStringList & gpgkey(); OptionStringList & excludepkgs(); OptionStringList & includepkgs(); OptionChild & fastestmirror(); OptionChild & proxy(); OptionChild & proxy_username(); OptionChild & proxy_password(); OptionChild > & proxy_auth_method(); OptionChild & username(); OptionChild & password(); OptionChild & protected_packages(); OptionChild & gpgcheck(); OptionChild & repo_gpgcheck(); OptionChild & enablegroups(); OptionChild > & retries(); OptionChild > & bandwidth(); OptionChild > & minrate(); OptionChild > & ip_resolve(); OptionChild > & throttle(); OptionChild & timeout(); OptionChild > & max_parallel_downloads(); OptionChild & metadata_expire(); OptionNumber & cost(); OptionNumber & priority(); OptionBool & module_hotfixes(); OptionChild & sslcacert(); OptionChild & sslverify(); OptionChild & sslclientcert(); OptionChild & sslclientkey(); OptionChild & deltarpm(); OptionChild > & deltarpm_percentage(); OptionBool & skip_if_unavailable(); // option recognized by other tools, e.g. gnome-software, but unused in dnf OptionString & enabled_metadata(); // yum compatibility options OptionEnum & failovermethod(); private: class Impl; std::unique_ptr pImpl; }; } #endif #endif