Skip to content
Snippets Groups Projects
PacketStructureJson.h 814 B
Newer Older
Valerio Pastore's avatar
Valerio Pastore committed
/*
 * PacketLib.h
 *
 *  Created on: Nov 24, 2022
 *      Author: valerio
 */

#ifndef INCLUDE_INAF_OAS_PACKET_STRUCTURE_JSON_H_
#define INCLUDE_INAF_OAS_PACKET_STRUCTURE_JSON_H_

#include <Base_Packet.h>
#include <fstream>
#include <nlohmann/json.hpp>

namespace inaf::oasbo::Packets {

class PacketStructureJson : public inaf::oasbo::PacketLib::BasePacketStructure {

private:
Valerio Pastore's avatar
Valerio Pastore committed
	std::vector<std::tuple<uint, std::string, uint>> structure;
	std::vector<std::tuple<uint, std::string, uint>> convertToTupleVector(const nlohmann::ordered_json &data,
			uint &count);
Valerio Pastore's avatar
Valerio Pastore committed

public:
Valerio Pastore's avatar
Valerio Pastore committed
	std::vector<std::tuple<uint, std::string, uint>> readStructureFromSource(
			std::string source) override;
	PacketStructureJson(std::string source){
		updateStructure(source);
	}
Valerio Pastore's avatar
Valerio Pastore committed
};
}

#endif /* INCLUDE_INAF_OAS_PACKET_STRUCTURE_JSON_H_ */