43 lines
815 B
C++
43 lines
815 B
C++
#pragma once
|
|
|
|
#include "user_handler.h"
|
|
|
|
#include <string>
|
|
#include <vector>
|
|
#include <filesystem>
|
|
#include <fstream>
|
|
|
|
namespace fs = std::filesystem;
|
|
|
|
struct mail {
|
|
std::string filename;
|
|
|
|
/* metadata */
|
|
u_int id;
|
|
int64_t timestamp;
|
|
std::string sender;
|
|
std::vector<std::string> recipients;
|
|
std::string subject;
|
|
|
|
bool operator()(const u_int& id) const {
|
|
return id == this->id;
|
|
}
|
|
|
|
bool operator<(const mail& left) const {
|
|
return this->timestamp < left.timestamp;
|
|
}
|
|
|
|
fs::path getPath() {
|
|
if (this->filename.empty())
|
|
return fs::path();
|
|
return fs::path(this->filename.insert(2, "/"));
|
|
};
|
|
|
|
void remove() {
|
|
if (this->filename.empty())
|
|
return;
|
|
std::remove((user_handler::getInstance()->getSpoolDir()/"objects"/fs::path(this->filename.insert(2, "/"))).c_str());
|
|
|
|
this->filename = "";
|
|
};
|
|
}; |