MCPcopy Create free account
hub / github.com/Icinga/icinga2 / GetFeatures

Method GetFeatures

lib/cli/featureutility.cpp:181–209  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

179}
180
181bool FeatureUtility::GetFeatures(std::vector<String>& features, bool get_disabled)
182{
183 /* request all disabled features */
184 if (get_disabled) {
185 /* disable = available-enabled */
186 String available_pattern = GetFeaturesAvailablePath() + "/*.conf";
187 std::vector<String> available;
188 Utility::Glob(available_pattern, [&available](const String& featureFile) { CollectFeatures(featureFile, available); }, GlobFile);
189
190 String enabled_pattern = GetFeaturesEnabledPath() + "/*.conf";
191 std::vector<String> enabled;
192 Utility::Glob(enabled_pattern, [&enabled](const String& featureFile) { CollectFeatures(featureFile, enabled); }, GlobFile);
193
194 std::sort(available.begin(), available.end());
195 std::sort(enabled.begin(), enabled.end());
196 std::set_difference(
197 available.begin(), available.end(),
198 enabled.begin(), enabled.end(),
199 std::back_inserter(features)
200 );
201 } else {
202 /* all enabled features */
203 String enabled_pattern = GetFeaturesEnabledPath() + "/*.conf";
204
205 Utility::Glob(enabled_pattern, [&features](const String& featureFile) { CollectFeatures(featureFile, features); }, GlobFile);
206 }
207
208 return true;
209}
210
211bool FeatureUtility::CheckFeatureEnabled(const String& feature)
212{

Callers

nothing calls this directly

Calls 2

beginMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected