#ifndef HEADER_H_
#define HEADER_H_
#include <absl/strings/string_view.h>
#include <iostream>
#include <string>
#include <vector>

class Header {
       public:
	Header(const std::string& line,
	       std::vector<uint32_t>& fpga_config_packets);
	void Write(std::ostream& out);

       private:
	std::string design_name_;
	std::string part_;
	std::string date_;
	uint32_t no_bits_;

	std::string GetTLVHeaderValue(absl::string_view& str_view);
	uint32_t GetWord(absl::string_view& str_view);
	size_t GetTLVHeaderLength(absl::string_view& str_view);
	size_t GetByteAndAdvance(absl::string_view& str_view);
	std::string GetDate();
	std::string GetArchitecture();
};
#endif  // HEADER_H_
