30 lines
778 B
C++
30 lines
778 B
C++
#include "GwBoatData.h"
|
|
|
|
GwBoatData::GwBoatData(GwLog *logger){
|
|
this->logger=logger;
|
|
}
|
|
GwBoatData::~GwBoatData(){
|
|
GwBoatItemBase::GwBoatItemMap::iterator it;
|
|
for (it=values.begin() ; it != values.end();it++){
|
|
delete *it;
|
|
}
|
|
}
|
|
|
|
String GwBoatData::toJson() const {
|
|
unsigned long minTime=millis();
|
|
GwBoatItemBase::GwBoatItemMap::const_iterator it;
|
|
size_t count=0;
|
|
size_t elementSizes=0;
|
|
for (it=values.begin() ; it != values.end();it++){
|
|
count++;
|
|
elementSizes+=(*it)->getJsonSize();
|
|
}
|
|
DynamicJsonDocument json(JSON_OBJECT_SIZE(count)+elementSizes);
|
|
for (it=values.begin() ; it != values.end();it++){
|
|
(*it)->toJsonDoc(&json,minTime);
|
|
}
|
|
String buf;
|
|
serializeJson(json,buf);
|
|
return buf;
|
|
}
|