00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef PALUDIS_GUARD_PALUDIS_ELIKE_CHOICES_HH
00021 #define PALUDIS_GUARD_PALUDIS_ELIKE_CHOICES_HH 1
00022
00023 #include <paludis/elike_choices-fwd.hh>
00024 #include <paludis/util/attributes.hh>
00025 #include <paludis/choice.hh>
00026 #include <paludis/environment-fwd.hh>
00027 #include <paludis/package_id-fwd.hh>
00028
00029 namespace paludis
00030 {
00031 class PALUDIS_VISIBLE ELikeStripChoiceValue :
00032 public ChoiceValue
00033 {
00034 private:
00035 const bool _enabled;
00036
00037 public:
00038 ELikeStripChoiceValue(const std::tr1::shared_ptr<const PackageID> &,
00039 const Environment * const env, const std::tr1::shared_ptr<const Choice> &);
00040
00041 virtual const UnprefixedChoiceName unprefixed_name() const PALUDIS_ATTRIBUTE((warn_unused_result));
00042 virtual const ChoiceNameWithPrefix name_with_prefix() const PALUDIS_ATTRIBUTE((warn_unused_result));
00043 virtual bool enabled() const PALUDIS_ATTRIBUTE((warn_unused_result));
00044 virtual bool enabled_by_default() const PALUDIS_ATTRIBUTE((warn_unused_result));
00045 virtual bool locked() const PALUDIS_ATTRIBUTE((warn_unused_result));
00046 virtual const std::string description() const PALUDIS_ATTRIBUTE((warn_unused_result));
00047 virtual bool explicitly_listed() const PALUDIS_ATTRIBUTE((warn_unused_result));
00048 virtual const std::string parameter() const PALUDIS_ATTRIBUTE((warn_unused_result));
00049
00050 static const UnprefixedChoiceName canonical_unprefixed_name() PALUDIS_ATTRIBUTE((warn_unused_result));
00051 static const ChoiceNameWithPrefix canonical_name_with_prefix() PALUDIS_ATTRIBUTE((warn_unused_result));
00052 };
00053
00054 class PALUDIS_VISIBLE ELikeSplitChoiceValue :
00055 public ChoiceValue
00056 {
00057 private:
00058 const bool _enabled;
00059
00060 public:
00061 ELikeSplitChoiceValue(const std::tr1::shared_ptr<const PackageID> &,
00062 const Environment * const env, const std::tr1::shared_ptr<const Choice> &);
00063
00064 virtual const UnprefixedChoiceName unprefixed_name() const PALUDIS_ATTRIBUTE((warn_unused_result));
00065 virtual const ChoiceNameWithPrefix name_with_prefix() const PALUDIS_ATTRIBUTE((warn_unused_result));
00066 virtual bool enabled() const PALUDIS_ATTRIBUTE((warn_unused_result));
00067 virtual bool enabled_by_default() const PALUDIS_ATTRIBUTE((warn_unused_result));
00068 virtual bool locked() const PALUDIS_ATTRIBUTE((warn_unused_result));
00069 virtual const std::string description() const PALUDIS_ATTRIBUTE((warn_unused_result));
00070 virtual bool explicitly_listed() const PALUDIS_ATTRIBUTE((warn_unused_result));
00071 virtual const std::string parameter() const PALUDIS_ATTRIBUTE((warn_unused_result));
00072
00073 static const UnprefixedChoiceName canonical_unprefixed_name() PALUDIS_ATTRIBUTE((warn_unused_result));
00074 static const ChoiceNameWithPrefix canonical_name_with_prefix() PALUDIS_ATTRIBUTE((warn_unused_result));
00075 };
00076
00077 class PALUDIS_VISIBLE ELikeOptionalTestsChoiceValue :
00078 public ChoiceValue
00079 {
00080 private:
00081 const bool _enabled;
00082
00083 public:
00084 ELikeOptionalTestsChoiceValue(const std::tr1::shared_ptr<const PackageID> &,
00085 const Environment * const env, const std::tr1::shared_ptr<const Choice> &);
00086
00087 virtual const UnprefixedChoiceName unprefixed_name() const PALUDIS_ATTRIBUTE((warn_unused_result));
00088 virtual const ChoiceNameWithPrefix name_with_prefix() const PALUDIS_ATTRIBUTE((warn_unused_result));
00089 virtual bool enabled() const PALUDIS_ATTRIBUTE((warn_unused_result));
00090 virtual bool enabled_by_default() const PALUDIS_ATTRIBUTE((warn_unused_result));
00091 virtual bool locked() const PALUDIS_ATTRIBUTE((warn_unused_result));
00092 virtual const std::string description() const PALUDIS_ATTRIBUTE((warn_unused_result));
00093 virtual bool explicitly_listed() const PALUDIS_ATTRIBUTE((warn_unused_result));
00094 virtual const std::string parameter() const PALUDIS_ATTRIBUTE((warn_unused_result));
00095
00096 static const UnprefixedChoiceName canonical_unprefixed_name() PALUDIS_ATTRIBUTE((warn_unused_result));
00097 static const ChoiceNameWithPrefix canonical_name_with_prefix() PALUDIS_ATTRIBUTE((warn_unused_result));
00098 };
00099
00100 class PALUDIS_VISIBLE ELikeRecommendedTestsChoiceValue :
00101 public ChoiceValue
00102 {
00103 private:
00104 const bool _enabled;
00105
00106 public:
00107 ELikeRecommendedTestsChoiceValue(const std::tr1::shared_ptr<const PackageID> &,
00108 const Environment * const env, const std::tr1::shared_ptr<const Choice> &);
00109
00110 virtual const UnprefixedChoiceName unprefixed_name() const PALUDIS_ATTRIBUTE((warn_unused_result));
00111 virtual const ChoiceNameWithPrefix name_with_prefix() const PALUDIS_ATTRIBUTE((warn_unused_result));
00112 virtual bool enabled() const PALUDIS_ATTRIBUTE((warn_unused_result));
00113 virtual bool enabled_by_default() const PALUDIS_ATTRIBUTE((warn_unused_result));
00114 virtual bool locked() const PALUDIS_ATTRIBUTE((warn_unused_result));
00115 virtual const std::string description() const PALUDIS_ATTRIBUTE((warn_unused_result));
00116 virtual bool explicitly_listed() const PALUDIS_ATTRIBUTE((warn_unused_result));
00117 virtual const std::string parameter() const PALUDIS_ATTRIBUTE((warn_unused_result));
00118
00119 static const UnprefixedChoiceName canonical_unprefixed_name() PALUDIS_ATTRIBUTE((warn_unused_result));
00120 static const ChoiceNameWithPrefix canonical_name_with_prefix() PALUDIS_ATTRIBUTE((warn_unused_result));
00121 };
00122
00123 class PALUDIS_VISIBLE ELikeExpensiveTestsChoiceValue :
00124 public ChoiceValue
00125 {
00126 private:
00127 const bool _enabled;
00128
00129 public:
00130 ELikeExpensiveTestsChoiceValue(const std::tr1::shared_ptr<const PackageID> &,
00131 const Environment * const env, const std::tr1::shared_ptr<const Choice> &);
00132
00133 virtual const UnprefixedChoiceName unprefixed_name() const PALUDIS_ATTRIBUTE((warn_unused_result));
00134 virtual const ChoiceNameWithPrefix name_with_prefix() const PALUDIS_ATTRIBUTE((warn_unused_result));
00135 virtual bool enabled() const PALUDIS_ATTRIBUTE((warn_unused_result));
00136 virtual bool enabled_by_default() const PALUDIS_ATTRIBUTE((warn_unused_result));
00137 virtual bool locked() const PALUDIS_ATTRIBUTE((warn_unused_result));
00138 virtual const std::string description() const PALUDIS_ATTRIBUTE((warn_unused_result));
00139 virtual bool explicitly_listed() const PALUDIS_ATTRIBUTE((warn_unused_result));
00140 virtual const std::string parameter() const PALUDIS_ATTRIBUTE((warn_unused_result));
00141
00142 static const UnprefixedChoiceName canonical_unprefixed_name() PALUDIS_ATTRIBUTE((warn_unused_result));
00143 static const ChoiceNameWithPrefix canonical_name_with_prefix() PALUDIS_ATTRIBUTE((warn_unused_result));
00144 };
00145
00146 class PALUDIS_VISIBLE ELikeJobsChoiceValue :
00147 public ChoiceValue
00148 {
00149 private:
00150 const bool _enabled;
00151 const std::string _parameter;
00152
00153 public:
00154 ELikeJobsChoiceValue(const std::tr1::shared_ptr<const PackageID> &,
00155 const Environment * const env, const std::tr1::shared_ptr<const Choice> &);
00156
00157 virtual const UnprefixedChoiceName unprefixed_name() const PALUDIS_ATTRIBUTE((warn_unused_result));
00158 virtual const ChoiceNameWithPrefix name_with_prefix() const PALUDIS_ATTRIBUTE((warn_unused_result));
00159 virtual bool enabled() const PALUDIS_ATTRIBUTE((warn_unused_result));
00160 virtual bool enabled_by_default() const PALUDIS_ATTRIBUTE((warn_unused_result));
00161 virtual bool locked() const PALUDIS_ATTRIBUTE((warn_unused_result));
00162 virtual const std::string description() const PALUDIS_ATTRIBUTE((warn_unused_result));
00163 virtual bool explicitly_listed() const PALUDIS_ATTRIBUTE((warn_unused_result));
00164 virtual const std::string parameter() const PALUDIS_ATTRIBUTE((warn_unused_result));
00165
00166 static const UnprefixedChoiceName canonical_unprefixed_name() PALUDIS_ATTRIBUTE((warn_unused_result));
00167 static const ChoiceNameWithPrefix canonical_name_with_prefix() PALUDIS_ATTRIBUTE((warn_unused_result));
00168 };
00169
00170 class PALUDIS_VISIBLE ELikeTraceChoiceValue :
00171 public ChoiceValue
00172 {
00173 private:
00174 const bool _enabled;
00175
00176 public:
00177 ELikeTraceChoiceValue(const std::tr1::shared_ptr<const PackageID> &,
00178 const Environment * const env, const std::tr1::shared_ptr<const Choice> &);
00179
00180 virtual const UnprefixedChoiceName unprefixed_name() const PALUDIS_ATTRIBUTE((warn_unused_result));
00181 virtual const ChoiceNameWithPrefix name_with_prefix() const PALUDIS_ATTRIBUTE((warn_unused_result));
00182 virtual bool enabled() const PALUDIS_ATTRIBUTE((warn_unused_result));
00183 virtual bool enabled_by_default() const PALUDIS_ATTRIBUTE((warn_unused_result));
00184 virtual bool locked() const PALUDIS_ATTRIBUTE((warn_unused_result));
00185 virtual const std::string description() const PALUDIS_ATTRIBUTE((warn_unused_result));
00186 virtual bool explicitly_listed() const PALUDIS_ATTRIBUTE((warn_unused_result));
00187 virtual const std::string parameter() const PALUDIS_ATTRIBUTE((warn_unused_result));
00188
00189 static const UnprefixedChoiceName canonical_unprefixed_name() PALUDIS_ATTRIBUTE((warn_unused_result));
00190 static const ChoiceNameWithPrefix canonical_name_with_prefix() PALUDIS_ATTRIBUTE((warn_unused_result));
00191 };
00192 }
00193
00194 #endif