32 lines
603 B
C++
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
|