SensESP 2.7.2
Universal Signal K sensor toolkit ESP32
Loading...
Searching...
No Matches
startable.h
Go to the documentation of this file.
1#ifndef _startable_H_
2#define _startable_H_
3
4#include <queue>
5
6namespace sensesp {
7
8class StartableCompare;
9
20class Startable {
21 public:
22 Startable(int priority = 0);
23
28 virtual void start() {}
29
30 const int get_start_priority() { return priority_; }
31
32 void set_start_priority(int priority) { this->priority_ = priority; }
33
43 static void start_all();
44
45 friend class StartableCompare;
46
47 private:
48 int priority_;
49
50 static std::priority_queue<Startable*, std::vector<Startable*>,
52 startable_list_;
53};
54
56 public:
57 bool operator()(const Startable* lhs, const Startable* rhs) const {
58 return lhs->priority_ < rhs->priority_;
59 }
60};
61
62} // namespace sensesp
63
64#endif
Construct a new transform based on a single function.
bool operator()(const Startable *lhs, const Startable *rhs) const
Definition startable.h:57
Automatic calling of the start() method at startup.
Definition startable.h:20
void set_start_priority(int priority)
Definition startable.h:32
static void start_all()
Definition startable.cpp:14
virtual void start()
Definition startable.h:28
const int get_start_priority()
Definition startable.h:30