Files
ESPEasy/src/StringProviderTypes.h
T

149 lines
3.4 KiB
C

#ifndef STRING_PROVIDER_TYPES_H
#define STRING_PROVIDER_TYPES_H
#include "ESPEasy_common.h"
struct LabelType;
//enum LabelType::Enum : short;
struct LabelType {
enum Enum : short {
UNIT_NR,
UNIT_NAME,
HOST_NAME,
LOCAL_TIME,
UPTIME,
LOAD_PCT, // 15.10
LOOP_COUNT, // 400
CPU_ECO_MODE, // true
FREE_MEM, // 9876
FREE_STACK, // 3456
#ifdef CORE_POST_2_5_0
HEAP_MAX_FREE_BLOCK, // 7654
HEAP_FRAGMENTATION, // 12
#endif
BOOT_TYPE, // Cold boot
BOOT_COUNT, // 0
RESET_REASON, // Software/System restart
LAST_TASK_BEFORE_REBOOT, // Last scheduled task.
SW_WD_COUNT,
WIFI_CONNECTION, // 802.11G
WIFI_RSSI, // -67
IP_CONFIG, // DHCP
IP_CONFIG_STATIC,
IP_CONFIG_DYNAMIC,
IP_ADDRESS, // 192.168.1.123
IP_SUBNET, // 255.255.255.0
IP_ADDRESS_SUBNET, // 192.168.1.123 / 255.255.255.0
GATEWAY, // 192.168.1.1
CLIENT_IP, // 192.168.1.67
#ifdef FEATURE_MDNS
M_DNS, // breadboard.local
#endif
DNS, // 192.168.1.1 / (IP unset)
DNS_1,
DNS_2,
ALLOWED_IP_RANGE, // 192.168.1.0 - 192.168.1.255
STA_MAC, // EC:FA:BC:0E:AE:5B
AP_MAC, // EE:FA:BC:0E:AE:5B
SSID, // mynetwork
BSSID,
CHANNEL, // 1
CONNECTED, // 1h16m
CONNECTED_MSEC, // 1h16m
LAST_DISCONNECT_REASON, // 200
LAST_DISC_REASON_STR, // Beacon timeout
NUMBER_RECONNECTS, // 5
FORCE_WIFI_BG,
RESTART_WIFI_LOST_CONN,
FORCE_WIFI_NOSLEEP,
PERIODICAL_GRAT_ARP,
CONNECTION_FAIL_THRESH,
BUILD_DESC,
GIT_BUILD,
SYSTEM_LIBRARIES,
PLUGIN_COUNT,
PLUGIN_DESCRIPTION,
BUILD_TIME,
BINARY_FILENAME,
BUILD_PLATFORM,
GIT_HEAD,
SYSLOG_LOG_LEVEL,
SERIAL_LOG_LEVEL,
WEB_LOG_LEVEL,
#ifdef FEATURE_SD
SD_LOG_LEVEL,
#endif
ESP_CHIP_ID,
ESP_CHIP_FREQ,
ESP_BOARD_NAME,
FLASH_CHIP_ID,
FLASH_CHIP_REAL_SIZE,
FLASH_IDE_SIZE,
FLASH_IDE_SPEED,
FLASH_IDE_MODE,
FLASH_WRITE_COUNT,
SKETCH_SIZE,
SKETCH_FREE,
FS_SIZE,
FS_FREE,
MAX_OTA_SKETCH_SIZE,
OTA_2STEP,
OTA_POSSIBLE,
#ifdef HAS_ETHERNET
ETH_IP_ADDRESS,
ETH_IP_SUBNET,
ETH_IP_ADDRESS_SUBNET,
ETH_IP_GATEWAY,
ETH_IP_DNS,
ETH_MAC,
ETH_DUPLEX,
ETH_SPEED,
ETH_STATE,
ETH_SPEED_STATE,
ETH_WIFI_MODE,
ETH_CONNECTED,
#endif
};
};
String getInternalLabel(LabelType::Enum label, char replaceSpace = '_');
String getLabel(LabelType::Enum label);
String getValue(LabelType::Enum label);
String getExtendedValue(LabelType::Enum label);
struct FileType {
enum Enum : short {
CONFIG_DAT,
SECURITY_DAT,
RULES_TXT,
NOTIFICATION_DAT
};
};
String getFileName(FileType::Enum filetype);
String getFileName(FileType::Enum filetype, unsigned int filenr);
// filenr = 0...3 for files rules1.txt ... rules4.txt
String getRulesFileName(unsigned int filenr);
void addDownloadFiletypeCheckbox(FileType::Enum filetype, unsigned int filenr = 0);
void storeDownloadFiletypeCheckbox(FileType::Enum filetype, unsigned int filenr = 0);
bool tryDownloadFileType(const String& url, const String& user, const String& pass, FileType::Enum filetype, unsigned int filenr = 0);
#endif // STRING_PROVIDER_TYPES_H