34 lines
599 B
C
34 lines
599 B
C
|
#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;
|
||
|
|
||
|
};
|