view include/library/library.h @ 369:47c9f8502269

*: clang-format all the things I've edited the formatting a bit. Now pointer asterisks (and reference ampersands) are on the variable instead of the type, as well as having newlines for function braces (but nothing else)
author Paper <paper@tflc.us>
date Fri, 25 Jul 2025 10:16:02 -0400
parents 886f66775f31
children
line wrap: on
line source

#ifndef MINORI_LIBRARY_LIBRARY_H_
#define MINORI_LIBRARY_LIBRARY_H_

#include "library/library.h"

#include <filesystem>
#include <optional>
#include <unordered_map>

namespace Library {

class Database final {
public:
	std::optional<std::filesystem::path> GetAnimeFolder(int id);
	void Refresh();
	void Refresh(int id);

	// Anime episodes. Indexed as `folders[id][episode]'
	std::unordered_map<int, std::unordered_map<int, std::filesystem::path>> items;

private:
	void Refresh(std::optional<int> find_id);
};

extern Database db;

} // namespace Library

#endif // MINORI_LIBRARY_LIBRARY_H_