AP_LeakDetector: add static create method

This commit is contained in:
Lucas De Marchi 2017-08-23 07:59:52 -07:00 committed by Francisco Ferreira
parent 62ac0ab8aa
commit 6aaa00d915

View File

@ -14,7 +14,13 @@ class AP_LeakDetector {
friend class AP_LeakDetector_Digital; friend class AP_LeakDetector_Digital;
public: public:
AP_LeakDetector(); static AP_LeakDetector create() { return AP_LeakDetector{}; }
constexpr AP_LeakDetector(AP_LeakDetector &&other) = default;
/* Do not allow copies */
AP_LeakDetector(const AP_LeakDetector &other) = delete;
AP_LeakDetector &operator=(const AP_LeakDetector&) = delete;
enum LeakDetector_Type { enum LeakDetector_Type {
LEAKDETECTOR_TYPE_NONE = 0, LEAKDETECTOR_TYPE_NONE = 0,
@ -42,6 +48,8 @@ public:
static const struct AP_Param::GroupInfo var_info[]; static const struct AP_Param::GroupInfo var_info[];
private: private:
AP_LeakDetector();
AP_LeakDetector_Backend *_drivers[LEAKDETECTOR_MAX_INSTANCES]; AP_LeakDetector_Backend *_drivers[LEAKDETECTOR_MAX_INSTANCES];
LeakDetector_State _state[LEAKDETECTOR_MAX_INSTANCES]; LeakDetector_State _state[LEAKDETECTOR_MAX_INSTANCES];