1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-07-23 08:45:22 +03:00

- Move all serialization code to separate Serializer namespace and files.

- Generalize and improve JSON processing code.

- Prevent mesh passwords from containing " characters to avoid messing up the JSON processing.

- Improve documentation.
This commit is contained in:
Anders
2020-05-10 16:42:57 +02:00
parent e64125a53c
commit 2ec2679d6e
14 changed files with 464 additions and 232 deletions

View File

@ -25,6 +25,7 @@
#include "FloodingMesh.h"
#include "TypeConversionFunctions.h"
#include "JsonTranslator.h"
#include "Serializer.h"
namespace
{
@ -153,16 +154,11 @@ void FloodingMesh::performMeshInstanceMaintenance()
String FloodingMesh::serializeMeshState() const
{
using namespace JsonTranslator;
// Returns: {"meshState":{"connectionState":{"unsyncMsgID":"123"},"meshMsgCount":"123"}}
String connectionState = getEspnowMeshBackendConst().serializeUnencryptedConnection();
uint32_t unsyncMsgID = 0;
JsonTranslator::getUnsynchronizedMessageID(connectionState, unsyncMsgID);
return
String(F("{\"meshState\":{"))
+ connectionState.substring(1, connectionState.length() - 1) + String(',')
+ createJsonEndPair(FPSTR(jsonMeshMessageCount), String(_messageCount));
return Serializer::serializeMeshState(String(unsyncMsgID), String(_messageCount));
}
void FloodingMesh::loadMeshState(const String &serializedMeshState)