/*************************************************************************** * By Théophile Bastian, 2017 * M1 Network course project at ENS Cachan, Juliusz Chroboczek. * License: WTFPL v2 **************************************************************************/ #pragma once #include #include #include "data.h" class ConfigFile { public: typedef std::string CfgData; ConfigFile(); bool read(const char* path); bool write(const char* path); u64 getSelfId() const { return selfId; } void setSelfId(u64 id) { selfId = id; } /** Self id */ const std::vector& getBootstrapNodes() const { return bootstrapNodes; }; /** Bootstrap nodes. No setter: wouldn't be useful. */ const std::vector& getData() const { return data; } /** Data to publish. */ private: u64 randId() const; u64 selfId; std::vector bootstrapNodes; std::vector data; size_t curDataSum; };