svd2cpp/Src/ClassBuilder.hpp
2019-11-22 12:57:17 +01:00

30 lines
663 B
C++

#ifndef CLASS_PRINTER
#define CLASS_PRINTER
#include <cxxopts.hpp>
#include <DeviceInfo.hpp>
#include <Peripheral.hpp>
#include <vector>
#include <IBuilder.hpp>
#include <memory>
#include <sstream>
struct ClassBuilder
{
ClassBuilder(const cxxopts::ParseResult& results,
const DeviceInfo& deviceInfo,
const std::vector<Peripheral>& peripherals);
void setupBuilders();
void build();
private:
const cxxopts::ParseResult& results;
const DeviceInfo& deviceInfo;
const std::vector<Peripheral>& peripherals;
std::vector<std::unique_ptr<IBuilder>> builders;
std::stringstream outputStream;
};
#endif