#ifndef FSUpdater_h_included #define FSUpdater_h_included #include #define MAX_FILES_IN_BOM 20 typedef struct { char *localFilename, *remoteFilename, *md5; unsigned long filesize; char executionMark; } BomEntry; class FSUpdater { public: FSUpdater(String _baseUrl, String currentVersion, String user, String password): baseUrl(_baseUrl), swVersion(currentVersion), authUser(user), authPassword(password) {}; void checkForUpdates(); void manageFsOtaBom(String payload); void freeMemory(); boolean errorWhileParsingBom() { return (errorMessage.length() > 0); }; String getBomParsingError() { return errorMessage; }; unsigned int numberOfBomEntries() { return bomCounter; }; BomEntry *getBomEntry(unsigned int num) { return &bom[num]; }; protected: String baseUrl; String swVersion; String authUser, authPassword; BomEntry bom[MAX_FILES_IN_BOM]; // array of bom's, dynamically allocated char *bomBuffer = NULL; unsigned int bomCounter = 0; String errorMessage; }; #endif