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

Method GetActiveStage

lib/remote/configpackageutility.cpp:286–312  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

284}
285
286String ConfigPackageUtility::GetActiveStage(const String& packageName)
287{
288 String activeStage;
289
290 ApiListener::Ptr listener = ApiListener::GetInstance();
291
292 /* If we don't have an API feature, just use the file storage without caching this.
293 * This happens when ScheduledDowntime objects generate Downtime objects.
294 * TODO: Make the API a first class citizen.
295 */
296 if (!listener)
297 return GetActiveStageFromFile(packageName);
298
299 /* First use runtime state. */
300 try {
301 activeStage = listener->GetActivePackageStage(packageName);
302 } catch (const std::exception& ex) {
303 /* Fallback to reading the file, happens on restarts. */
304 activeStage = GetActiveStageFromFile(packageName);
305
306 /* When we've read something, correct memory. */
307 if (!activeStage.IsEmpty())
308 listener->SetActivePackageStage(packageName, activeStage);
309 }
310
311 return activeStage;
312}
313
314void ConfigPackageUtility::SetActiveStage(const String& packageName, const String& stageName)
315{

Callers

nothing calls this directly

Calls 3

GetActivePackageStageMethod · 0.80
SetActivePackageStageMethod · 0.80
IsEmptyMethod · 0.45

Tested by

no test coverage detected