Tasmota/lib/libesp32/ESP-Mail-Client/src/extras/Networks_Provider.h
Jason2866 0bddfad14e
No Ethernet support for the C2 (#21691)
* No Ethernet for the C2

* Post process: Disable always Ethernet for C2

* better check for Ethernet available

* typo

* excluse c2 with `ifndef`
2024-06-25 15:13:16 +02:00

131 lines
4.0 KiB
C

#ifndef ESP_MAIL_NETWORKS_PROVIDER_H
#define ESP_MAIL_NETWORKS_PROVIDER_H
#include "../ESP_Mail_FS.h"
#include "../ESP_Mail_Client_Version.h"
#if !VALID_VERSION_CHECK(30409)
#error "Mixed versions compilation."
#endif
#if __has_include(<esp_idf_version.h>)
#include <esp_idf_version.h>
#endif
#include "ESP8266_Supports.h"
// Renesas devices
#if defined(ARDUINO_UNOWIFIR4) || defined(ARDUINO_MINIMA) || defined(ARDUINO_PORTENTA_C33)
#define ESP_MAIL_STRSEP strsepImpl
#define ESP_MAIL_USE_STRSEP_IMPL
#else
#define ESP_MAIL_STRSEP strsep
#endif
#if defined(ESP32) || defined(ESP8266) || defined(ARDUINO_RASPBERRY_PI_PICO_W) || \
defined(ARDUINO_UNOWIFIR4) || defined(ARDUINO_PORTENTA_C33) || \
defined(ARDUINO_PORTENTA_H7_M7) || defined(ARDUINO_PORTENTA_H7_M4) || \
__has_include(<WiFiNINA.h>) ||__has_include(<WiFi101.h>)
#if !defined(ESP_MAIL_DISABLE_ONBOARD_WIFI)
#define ESP_MAIL_WIFI_IS_AVAILABLE
#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W)
#include <WiFi.h>
#elif defined(ESP8266)
#include <ESP8266WiFi.h>
#elif __has_include(<WiFiNINA.h>)
#include <WiFiNINA.h>
#elif __has_include(<WiFi101.h>)
#include <WiFi101.h>
#elif __has_include(<WiFiS3.h>)
#include <WiFiS3.h>
#elif __has_include(<WiFi.h>)
#include <WiFi.h>
#endif
#if !defined(ARDUINO_RASPBERRY_PI_PICO_W) && \
!defined(MB_ARDUINO_ARCH_SAMD) && \
!defined(MB_ARDUINO_MBED_PORTENTA) && \
!defined(ARDUINO_UNOWIFIR4) && \
!defined(ARDUINO_PORTENTA_C33) && \
!defined(ARDUINO_NANO_RP2040_CONNECT)
#define ESP_MAIL_HAS_WIFI_DISCONNECT
#endif
#if defined(ARDUINO_PORTENTA_C33)
#define CONST_STRING_CAST char * // C33 WiFi library SSID is char array
#else
#define CONST_STRING_CAST const char *
#endif
// WiFiS3 getTime is currently return 0 (not implemented)
#if __has_include(<WiFiNINA.h>) || __has_include(<WiFi101.h>)
#define ESP_MAIL_HAS_WIFI_TIME
#endif
#if defined(MB_ARDUINO_PICO) && __has_include(<WiFiMulti.h>)
#define ESP_MAIL_HAS_WIFIMULTI
#endif
#endif
#endif
#if !defined(ESP_MAIL_DISABLE_NATIVE_ETHERNET)
#if defined(ESP32) && __has_include(<esp_eth_driver.h>)
#include <ETH.h>
#define ESP_MAIL_ETH_IS_AVAILABLE
#elif defined(ESP8266) && defined(ESP8266_CORE_SDK_V3_X_X)
#if defined(INC_ENC28J60_LWIP) || defined(INC_W5100_LWIP) || defined(INC_W5500_LWIP)
#define ESP_MAIL_ETH_IS_AVAILABLE
#endif
#endif
#endif
#if defined(TINY_GSM_MODEM_SIM800) || \
defined(TINY_GSM_MODEM_SIM808) || \
defined(TINY_GSM_MODEM_SIM868) || \
defined(TINY_GSM_MODEM_SIM900) || \
defined(TINY_GSM_MODEM_SIM7000) || \
defined(TINY_GSM_MODEM_SIM7000) || \
defined(TINY_GSM_MODEM_SIM7000SSL) || \
defined(TINY_GSM_MODEM_SIM7070) || \
defined(TINY_GSM_MODEM_SIM7080) || \
defined(TINY_GSM_MODEM_SIM7090) || \
defined(TINY_GSM_MODEM_SIM5320) || \
defined(TINY_GSM_MODEM_SIM5360) || \
defined(TINY_GSM_MODEM_SIM5300) || \
defined(TINY_GSM_MODEM_SIM7100) || \
defined(TINY_GSM_MODEM_SIM7600) || \
defined(TINY_GSM_MODEM_SIM7800) || \
defined(TINY_GSM_MODEM_SIM7500) || \
defined(TINY_GSM_MODEM_UBLOX) || \
defined(TINY_GSM_MODEM_SARAR4) || \
defined(TINY_GSM_MODEM_M95) || \
defined(TINY_GSM_MODEM_BG96) || \
defined(TINY_GSM_MODEM_A6) || \
defined(TINY_GSM_MODEM_A7) || \
defined(TINY_GSM_MODEM_M590) || \
defined(TINY_GSM_MODEM_MC60) || \
defined(TINY_GSM_MODEM_MC60E) || \
defined(TINY_GSM_MODEM_XBEE) || \
defined(TINY_GSM_MODEM_SEQUANS_MONARCH)
#define ESP_MAIL_TINYGSM_IS_AVAILABLE
#endif
#if defined(ESP_MAIL_TINYGSM_IS_AVAILABLE) && __has_include(<TinyGsmClient.h>)
#include <TinyGsmClient.h>
#define ESP_MAIL_GSM_MODEM_IS_AVAILABLE
#endif
#if defined(ESP_MAIL_WIFI_IS_AVAILABLE)
#define WiFI_CONNECTED (WiFi.status() == WL_CONNECTED)
#else
#define WiFI_CONNECTED false
#endif
#endif