• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

bcpearce / hass-motion-detection-addon / 21126887229

19 Jan 2026 05:54AM UTC coverage: 17.99% (-32.0%) from 49.971%
21126887229

Pull #26

github

web-flow
Merge c98d1d60e into 0206cb867
Pull Request #26: Additional test coverage

292 of 1865 branches covered (15.66%)

Branch coverage included in aggregate %.

8 of 22 new or added lines in 3 files covered. (36.36%)

827 existing lines in 29 files now uncovered.

347 of 1687 relevant lines covered (20.57%)

28.54 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

45.45
/include/Util/EventHandler.h
1
#pragma once
2

3
#include <functional>
4
#include <ranges>
5
#include <shared_mutex>
6
#include <unordered_map>
7

8
namespace util {
9

10
template <typename Payload> class EventHandler {
11
public:
12
  virtual ~EventHandler() = default;
2✔
13

UNCOV
14
  int Subscribe(std::function<void(Payload)> callback) {
×
15
    static int nextId{0};
UNCOV
16
    std::scoped_lock lk(mtx_);
×
UNCOV
17
    callbacks_[nextId] = callback;
×
UNCOV
18
    return nextId++;
×
UNCOV
19
  }
×
20
  void Unsubscribe(int callbackId) {}
21

22
protected:
23
  virtual void OnEvent(Payload data) {
504✔
24
    std::scoped_lock lk(mtx_);
504✔
25
    for (auto &callback : callbacks_ | std::views::values) {
504!
UNCOV
26
      callback(data);
×
27
    }
28
  }
1,008✔
29

30
private:
31
  std::unordered_map<int, std::function<void(Payload)>> callbacks_;
32
  std::shared_mutex mtx_;
33
};
34

35
} // namespace util
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc