/* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General * Public License version 2, as published by the Free Software Foundation. * * Paludis 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 General Public License for more * details. * * You should have received a copy of the GNU General Public License along with * this program; if not, write to the Free Software Foundation, Inc., 59 Temple * Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef PALUDIS_GUARD_PALUDIS_ELIKE_CHOICES_HH #define PALUDIS_GUARD_PALUDIS_ELIKE_CHOICES_HH 1 #include #include #include #include #include #include namespace paludis { class PALUDIS_VISIBLE ELikeOptionalTestsChoiceValue : public ChoiceValue { private: const bool _enabled; const bool _mask; public: ELikeOptionalTestsChoiceValue(const std::shared_ptr &, const Environment * const env, const std::shared_ptr &, const bool mask); virtual const UnprefixedChoiceName unprefixed_name() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual const ChoiceNameWithPrefix name_with_prefix() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual bool enabled() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual bool enabled_by_default() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual bool locked() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual const std::string description() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual ChoiceOrigin origin() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual const std::string parameter() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual const std::shared_ptr permitted_parameter_values() const PALUDIS_ATTRIBUTE((warn_unused_result)); static const UnprefixedChoiceName canonical_unprefixed_name() PALUDIS_ATTRIBUTE((warn_unused_result)); static const ChoiceNameWithPrefix canonical_name_with_prefix() PALUDIS_ATTRIBUTE((warn_unused_result)); }; class PALUDIS_VISIBLE ELikeRecommendedTestsChoiceValue : public ChoiceValue { private: const bool _enabled; const bool _mask; public: ELikeRecommendedTestsChoiceValue(const std::shared_ptr &, const Environment * const env, const std::shared_ptr &, const bool mask); virtual const UnprefixedChoiceName unprefixed_name() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual const ChoiceNameWithPrefix name_with_prefix() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual bool enabled() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual bool enabled_by_default() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual bool locked() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual const std::string description() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual ChoiceOrigin origin() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual const std::string parameter() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual const std::shared_ptr permitted_parameter_values() const PALUDIS_ATTRIBUTE((warn_unused_result)); static const UnprefixedChoiceName canonical_unprefixed_name() PALUDIS_ATTRIBUTE((warn_unused_result)); static const ChoiceNameWithPrefix canonical_name_with_prefix() PALUDIS_ATTRIBUTE((warn_unused_result)); }; class PALUDIS_VISIBLE ELikeExpensiveTestsChoiceValue : public ChoiceValue { private: const bool _enabled; const bool _mask; public: ELikeExpensiveTestsChoiceValue(const std::shared_ptr &, const Environment * const env, const std::shared_ptr &, const bool mask); virtual const UnprefixedChoiceName unprefixed_name() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual const ChoiceNameWithPrefix name_with_prefix() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual bool enabled() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual bool enabled_by_default() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual bool locked() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual const std::string description() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual ChoiceOrigin origin() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual const std::string parameter() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual const std::shared_ptr permitted_parameter_values() const PALUDIS_ATTRIBUTE((warn_unused_result)); static const UnprefixedChoiceName canonical_unprefixed_name() PALUDIS_ATTRIBUTE((warn_unused_result)); static const ChoiceNameWithPrefix canonical_name_with_prefix() PALUDIS_ATTRIBUTE((warn_unused_result)); }; class PALUDIS_VISIBLE ELikeJobsChoiceValue : public ChoiceValue { private: const bool _enabled; const std::string _parameter; public: ELikeJobsChoiceValue(const std::shared_ptr &, const Environment * const env, const std::shared_ptr &); virtual const UnprefixedChoiceName unprefixed_name() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual const ChoiceNameWithPrefix name_with_prefix() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual bool enabled() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual bool enabled_by_default() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual bool locked() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual const std::string description() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual ChoiceOrigin origin() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual const std::string parameter() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual const std::shared_ptr permitted_parameter_values() const PALUDIS_ATTRIBUTE((warn_unused_result)); static const UnprefixedChoiceName canonical_unprefixed_name() PALUDIS_ATTRIBUTE((warn_unused_result)); static const ChoiceNameWithPrefix canonical_name_with_prefix() PALUDIS_ATTRIBUTE((warn_unused_result)); }; class PALUDIS_VISIBLE ELikeTraceChoiceValue : public ChoiceValue { private: const bool _enabled; public: ELikeTraceChoiceValue(const std::shared_ptr &, const Environment * const env, const std::shared_ptr &); virtual const UnprefixedChoiceName unprefixed_name() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual const ChoiceNameWithPrefix name_with_prefix() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual bool enabled() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual bool enabled_by_default() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual bool locked() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual const std::string description() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual ChoiceOrigin origin() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual const std::string parameter() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual const std::shared_ptr permitted_parameter_values() const PALUDIS_ATTRIBUTE((warn_unused_result)); static const UnprefixedChoiceName canonical_unprefixed_name() PALUDIS_ATTRIBUTE((warn_unused_result)); static const ChoiceNameWithPrefix canonical_name_with_prefix() PALUDIS_ATTRIBUTE((warn_unused_result)); }; class PALUDIS_VISIBLE ELikePreserveWorkChoiceValue : public ChoiceValue { private: const bool _enabled; const bool _forced; public: /** * \since 0.51.0 */ ELikePreserveWorkChoiceValue( const std::shared_ptr &, const Environment * const env, const std::shared_ptr &, const Tribool forced_value); virtual const UnprefixedChoiceName unprefixed_name() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual const ChoiceNameWithPrefix name_with_prefix() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual bool enabled() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual bool enabled_by_default() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual bool locked() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual const std::string description() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual ChoiceOrigin origin() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual const std::string parameter() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual const std::shared_ptr permitted_parameter_values() const PALUDIS_ATTRIBUTE((warn_unused_result)); static const UnprefixedChoiceName canonical_unprefixed_name() PALUDIS_ATTRIBUTE((warn_unused_result)); static const ChoiceNameWithPrefix canonical_name_with_prefix() PALUDIS_ATTRIBUTE((warn_unused_result)); }; class PALUDIS_VISIBLE ELikeSymbolsChoiceValue : public ChoiceValue { private: const bool _enabled; const ELikeSymbolsChoiceValueParameter _param; public: ELikeSymbolsChoiceValue(const std::shared_ptr &, const Environment * const env, const std::shared_ptr &, const ELikeSymbolsChoiceValueParameter _force); virtual const UnprefixedChoiceName unprefixed_name() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual const ChoiceNameWithPrefix name_with_prefix() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual bool enabled() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual bool enabled_by_default() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual bool locked() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual const std::string description() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual ChoiceOrigin origin() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual const std::string parameter() const PALUDIS_ATTRIBUTE((warn_unused_result)); virtual const std::shared_ptr permitted_parameter_values() const PALUDIS_ATTRIBUTE((warn_unused_result)); static const UnprefixedChoiceName canonical_unprefixed_name() PALUDIS_ATTRIBUTE((warn_unused_result)); static const ChoiceNameWithPrefix canonical_name_with_prefix() PALUDIS_ATTRIBUTE((warn_unused_result)); static bool should_split(const std::string &) PALUDIS_ATTRIBUTE((warn_unused_result)); static bool should_strip(const std::string &) PALUDIS_ATTRIBUTE((warn_unused_result)); static bool should_compress(const std::string &) PALUDIS_ATTRIBUTE((warn_unused_result)); }; } #endif