blink1-control
ConditionConfig.hpp
Go to the documentation of this file.
1 
6 #pragma once
7 
8 #include <ostream>
9 #include <string>
10 #include <vector>
11 
13 
23  struct ConditionConfig {
24 
29  enum class Type {
38 
45  Rollup
46  };
47 
52 
56  std::string name;
57 
61  std::vector<std::string> patterns;
62 
63  virtual ~ConditionConfig() = default;
64 
71  friend std::ostream& operator<<(std::ostream& os, blink1_control::config::ConditionConfig::Type& configType) {
72  switch (configType) {
74  os << "ProcessMonitor";
75  break;
77  os << "Rollup";
78  break;
79  }
80 
81  return os;
82  }
83 
90  friend std::ostream& operator<<(std::ostream& os, blink1_control::config::ConditionConfig& config) {
91  os << "{type: " << config.type << ", name: " << config.name << ", patterns: {";
92  bool first = true;
93  for (auto& pattern : config.patterns) {
94  if (first) {
95  first = false;
96  } else {
97  os << ", ";
98  }
99  os << pattern;
100  }
101  os << "}}";
102 
103  return os;
104  }
105  };
106 }
blink1_control::config::ConditionConfig::Type
Type
Definition: ConditionConfig.hpp:29
blink1_control::config::ConditionConfig::operator<<
friend std::ostream & operator<<(std::ostream &os, blink1_control::config::ConditionConfig &config)
Definition: ConditionConfig.hpp:90
blink1_control::config::ConditionConfig::Type::Rollup
@ Rollup
blink1_control::config::ConditionConfig::Type::ProcessMonitor
@ ProcessMonitor
blink1_control::config
Definition: ConditionConfig.hpp:12
blink1_control::config::ConditionConfig::type
Type type
Definition: ConditionConfig.hpp:51
blink1_control::config::ConditionConfig::operator<<
friend std::ostream & operator<<(std::ostream &os, blink1_control::config::ConditionConfig::Type &configType)
Definition: ConditionConfig.hpp:71
blink1_control::config::ConditionConfig::patterns
std::vector< std::string > patterns
Definition: ConditionConfig.hpp:61
blink1_control::config::ConditionConfig::name
std::string name
Definition: ConditionConfig.hpp:56
blink1_control::config::ConditionConfig
Definition: ConditionConfig.hpp:23