UsenetSearch/include/usenetsearch/Database.h

32 lines
603 B
C++

#pragma once
#include <cstdint>
#include <filesystem>
#include <fstream>
#include <vector>
#include "usenetsearch/UsenetClient.h"
namespace usenetsearch {
static constexpr const std::uint64_t DatabaseVersion{1};
class Database{
std::filesystem::path m_databasePath;
std::uint64_t m_databaseVersion{0};
std::ifstream m_newsGroupFileInput;
std::ofstream m_newsGroupFileOutput;
void OpenNewsGroupFile();
public:
~Database();
void Open(std::filesystem::path dbPath);
void UpdateNewsgroupList(const std::vector<NntpListEntry>& list);
};
} // namespace usenetsearch