mason/src/project.h

34 lines
599 B
C
Raw Normal View History

2023-08-30 20:54:59 +00:00
#pragma once
#include <filesystem>
#include <string>
#include <fstream>
#include <list>
class Project {
public:
typedef std::string LogMessage;
typedef std::list<LogMessage> Log;
enum class Status {
unknown,
read,
error
};
Project(const std::filesystem::path& location);
bool read();
Status getStatus() const;
Log getLog() const;
std::string getName() const;
private:
void log(const std::string& message) const;
private:
std::filesystem::path location;
Status status;
std::string name;
mutable Log logStorage;
};