30 static Network *FirstInstance();
32 static Network *GetInstanceByIP(uint32_t ip);
33 static int GetNetIntfCount();
34 static void DisconnectProtocols();
36 static void Disable();
38 static bool IsReady();
39 static bool Iterate();
40 static void SetConfigMode();
41 static void SetNormalMode();
42 static void SetOfflineMode();
43 static void SetTestMode();
44 static void SetSetupNeeded();
45 static bool PopSetupNeeded();
47 static bool GetMainMacAddr(uint8_t *);
49 static void SetHostname(
const char *prefix,
int macSize);
51 static bool IsIpSetupTimeout();
52 static void LoadConfig();
54 static void printData(
const char *prefix,
const void *buf,
const int count);
56 explicit Network(uint8_t ip[4]);
59 virtual void onLoadConfig();
60 virtual void setup() = 0;
61 virtual void disable() = 0;
62 virtual void uninit();
63 virtual void setConfigMode();
64 virtual void setNormalMode();
65 virtual void setOfflineMode();
67 virtual bool getMacAddr(uint8_t *);
68 virtual void setHostname(
const char *,
int macSize);
69 void generateHostname(
const char *prefix,
int macSize,
char *output);
70 virtual bool isIpSetupTimeout();
71 virtual uint32_t getIP();
72 bool hasStaticIpConfig()
const;
77 virtual bool isReady() = 0;
78 virtual bool iterate();
83 virtual bool isWifiConfigRequired();
84 virtual void setSsid(
const char *wifiSsid);
85 virtual void setPassword(
const char *wifiPassword);
88 static void setSSLEnabled(
bool enabled);
90 void clearTimeCounters();
93 void setSetupNeeded();
94 bool popSetupNeeded();
96 enum IntfType getIntfType()
const;
97 virtual const char* getIntfName()
const;
99 bool isIntfDisabledInConfig()
const;
105 Network *nextNetIntf =
nullptr;
107 const char *rootCACert =
nullptr;
108 unsigned int rootCACertSize = 0;
109 unsigned char localIp[4];
110 char hostname[32] = {};
112 enum IntfType intfType = IntfType::Unknown;
114 static enum DeviceMode mode;
115 bool setupNeeded =
false;
116 bool useLocalIp =
false;
117 bool intfDisabledInConfig =
false;
118 bool testMode =
false;