1
0
mirror of https://github.com/thooge/esp32-nmea2000-obp60.git synced 2025-12-13 05:53:06 +01:00

TCP server separated

This commit is contained in:
andreas
2021-10-17 21:55:34 +02:00
parent 920177fada
commit 0360044ef3
7 changed files with 152 additions and 70 deletions

View File

@@ -97,13 +97,18 @@ bool GwConfigHandler::reset(bool save){
if (!save) return true;
return saveConfig();
}
String GwConfigHandler::getString(const String name){
GwConfigItem *i=findConfig(name);
String GwConfigHandler::getString(const String name) const{
GwConfigInterface *i=getConfigItem(name,false);
if (!i) return String();
return i->asString();
}
bool GwConfigHandler::getBool(const String name){
GwConfigItem *i=findConfig(name);
bool GwConfigHandler::getBool(const String name) const{
GwConfigInterface *i=getConfigItem(name,false);
if (!i) return false;
return i->asBoolean();
}
int GwConfigHandler::getInt(const String name) const{
GwConfigInterface *i=getConfigItem(name,false);
if (!i) return 0;
return i->asInt();
}

View File

@@ -9,6 +9,7 @@ class GwConfigInterface{
virtual String asString() const=0;
virtual const char * asCString() const =0;
virtual bool asBoolean() const = 0;
virtual int asInt() const = 0;
};
class GwConfigItem: public GwConfigInterface{
private:
@@ -33,6 +34,9 @@ class GwConfigItem: public GwConfigInterface{
virtual bool asBoolean() const{
return strcasecmp(value.c_str(),"true") == 0;
}
virtual int asInt() const{
return (int)value.toInt();
}
String getName() const{
return name;
}
@@ -59,6 +63,8 @@ class GwConfigHandler{
const String wifiClient="wifiClient";
const String wifiPass="wifiPass";
const String wifiSSID="wifiSSID";
const String serverPort="serverPort";
const String maxClients="maxClients";
GwConfigHandler(GwLog *logger);
bool loadConfig();
bool saveConfig();
@@ -67,20 +73,24 @@ class GwConfigHandler{
bool reset(bool save);
String toString() const;
String toJson() const;
String getString(const String name);
bool getBool(const String name);
String getString(const String name) const;
bool getBool(const String name) const ;
int getInt(const String name) const;
GwConfigItem * findConfig(const String name, bool dummy=false);
GwConfigInterface * getConfigItem(const String name, bool dummy=false) const;
private:
GwConfigItem* configs[5]={
GwConfigItem* configs[7]={
new GwConfigItem(sendUsb,"true"),
new GwConfigItem (receiveUsb,"false"),
new GwConfigItem (wifiClient,"false"),
new GwConfigItem (wifiSSID,""),
new GwConfigItem (wifiPass,"")
new GwConfigItem (wifiPass,""),
new GwConfigItem (serverPort,"2222"),
new GwConfigItem (maxClients, "10")
};
int getNumConfig() const{
return 5;
return 7;
}
};
#endif