@brief Repository for hit counters used across the application
| 2169 | }; |
| 2170 | /// @brief Repository for hit counters used across the application |
| 2171 | class RegisteredHitCounters : public base::utils::RegistryWithPred<base::HitCounter, base::HitCounter::Predicate> { |
| 2172 | public: |
| 2173 | /// @brief Validates counter for every N, i.e, registers new if does not exist otherwise updates original one |
| 2174 | /// @return True if validation resulted in triggering hit. Meaning logs should be written everytime true is returned |
| 2175 | bool validateEveryN(const char* filename, base::type::LineNumber lineNumber, std::size_t n); |
| 2176 | |
| 2177 | /// @brief Validates counter for hits >= N, i.e, registers new if does not exist otherwise updates original one |
| 2178 | /// @return True if validation resulted in triggering hit. Meaning logs should be written everytime true is returned |
| 2179 | bool validateAfterN(const char* filename, base::type::LineNumber lineNumber, std::size_t n); |
| 2180 | |
| 2181 | /// @brief Validates counter for hits are <= n, i.e, registers new if does not exist otherwise updates original one |
| 2182 | /// @return True if validation resulted in triggering hit. Meaning logs should be written everytime true is returned |
| 2183 | bool validateNTimes(const char* filename, base::type::LineNumber lineNumber, std::size_t n); |
| 2184 | |
| 2185 | /// @brief Gets hit counter registered at specified position |
| 2186 | inline const base::HitCounter* getCounter(const char* filename, base::type::LineNumber lineNumber) { |
| 2187 | base::threading::ScopedLock scopedLock(lock()); |
| 2188 | return get(filename, lineNumber); |
| 2189 | } |
| 2190 | }; |
| 2191 | /// @brief Action to be taken for dispatching |
| 2192 | enum class DispatchAction : base::type::EnumType { |
| 2193 | None = 1, NormalLog = 2, SysLog = 4 |
nothing calls this directly
no outgoing calls
no test coverage detected