Props to prop no plural
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
/*
|
||||
Name: PropData.h
|
||||
Created: 29/10/2019 09:20:31
|
||||
Author: Marie Faure <dev at faure dot systems>
|
||||
Editor: https://github.com/fauresystems
|
||||
License: MIT License (c) Marie Faure <dev at faure dot systems>
|
||||
|
||||
Variable wrapper for connected prop.
|
||||
*/
|
||||
#ifndef PROPSDATA_H
|
||||
#define PROPSDATA_H
|
||||
|
||||
#if defined(ARDUINO) && ARDUINO >= 100
|
||||
#include "arduino.h"
|
||||
#else
|
||||
#include "WProgram.h"
|
||||
#endif
|
||||
|
||||
#include <inttypes.h>
|
||||
#include <WString.h>
|
||||
|
||||
class PropData
|
||||
{
|
||||
public:
|
||||
virtual String fetch() = 0;
|
||||
virtual String fetchChange() = 0;
|
||||
};
|
||||
|
||||
class PropDataDecimal : public PropData
|
||||
{
|
||||
public:
|
||||
PropDataDecimal(const char *, uint8_t digits = 2, double precision = 0.1, double initial = 0);
|
||||
String fetch();
|
||||
String fetchChange();
|
||||
void setValue(const double);
|
||||
double value() const;
|
||||
private:
|
||||
const char *_id;
|
||||
double _current;
|
||||
double _previous;
|
||||
double _precision;
|
||||
uint8_t _digits;
|
||||
};
|
||||
|
||||
class PropDataInteger : public PropData
|
||||
{
|
||||
public:
|
||||
PropDataInteger(const char *, double precision = 0.1, long initial = 0);
|
||||
String fetch();
|
||||
String fetchChange();
|
||||
void setValue(const long);
|
||||
long value() const;
|
||||
private:
|
||||
const char *_id;
|
||||
long _current;
|
||||
long _previous;
|
||||
double _precision;
|
||||
};
|
||||
|
||||
class PropDataLogical : public PropData
|
||||
{
|
||||
public:
|
||||
PropDataLogical(const char *, const char *trueval = NULL, const char *falseval = NULL, bool initial = false);
|
||||
String fetch();
|
||||
String fetchChange();
|
||||
void setValue(const bool);
|
||||
bool value() const;
|
||||
private:
|
||||
const char *_id;
|
||||
bool _current;
|
||||
bool _previous;
|
||||
const char *_trueString;
|
||||
const char *_falseString;
|
||||
};
|
||||
|
||||
class PropDataText : public PropData
|
||||
{
|
||||
public:
|
||||
PropDataText(const char *);
|
||||
String fetch();
|
||||
String fetchChange();
|
||||
void setValue(String);
|
||||
String value() const;
|
||||
private:
|
||||
const char *_id;
|
||||
String _current;
|
||||
String _previous;
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user