ApplicationStatus Struct Reference

#include <ArmarXCore/util/ScenarioManagerCommon/data_structure/ApplicationInstance.h>

Static Public Member Functions

static std::string Aggregate (const std::vector< std::string > &stati)
 Combines the stati of several applications into the status of their common parent (a scenario or the package subtree of a scenario).
 

Static Public Attributes

static const std::string Inactive = "Inactive"
 
static const std::string Missing = "Missing"
 
static const std::string Mixed = "Mixed"
 
static const std::string Running = "Running"
 
static const std::string Stopped = "Stopped"
 
static const std::string Unknown = "Unknown"
 
static const std::string Waiting = "Waiting"
 

Member Function Documentation

◆ Aggregate()

std::string Aggregate ( const std::vector< std::string > & stati)
static

Combines the stati of several applications into the status of their common parent (a scenario or the package subtree of a scenario).

The rules are:

  • Missing applications are ignored: a binary that cannot be found says nothing about what is currently running. If every application is missing, the result is Missing.
  • If any application is Waiting, the result is Waiting: a start/stop is in flight and that is the most useful thing to show.
  • Unknown applications are ignored as long as at least one other application has a definite status, so that a single indeterminate probe does not blank out a whole scenario. If all of them are Unknown, the result is Unknown.
  • If all remaining applications agree, that status is the result, otherwise Mixed.

The result only depends on the set of stati, not on their order.

Note that Missing is never stored on an ApplicationInstance itself; it is derived by the GUI from Application::getFound() and passed in here by the tree items.

Member Data Documentation

◆ Inactive

const std::string Inactive = "Inactive"
static

◆ Missing

const std::string Missing = "Missing"
static

◆ Mixed

const std::string Mixed = "Mixed"
static

◆ Running

const std::string Running = "Running"
static

◆ Stopped

const std::string Stopped = "Stopped"
static

◆ Unknown

const std::string Unknown = "Unknown"
static

◆ Waiting

const std::string Waiting = "Waiting"
static

The documentation for this struct was generated from the following files: