24 lines
540 B
C++
24 lines
540 B
C++
|
#ifndef NNTPCHAN_TEMPLATE_ENGINE_HPP
|
||
|
#define NNTPCHAN_TEMPLATE_ENGINE_HPP
|
||
|
#include "file_handle.hpp"
|
||
|
#include <any>
|
||
|
#include <map>
|
||
|
#include <memory>
|
||
|
#include <string>
|
||
|
|
||
|
namespace nntpchan
|
||
|
{
|
||
|
|
||
|
struct TemplateEngine
|
||
|
{
|
||
|
using Args_t = std::map<std::string, std::any>;
|
||
|
virtual bool WriteTemplate(const std::string & template_fname, const Args_t & args, const FileHandle_ptr & out) = 0;
|
||
|
};
|
||
|
|
||
|
TemplateEngine * CreateTemplateEngine(const std::string & dialect);
|
||
|
|
||
|
typedef std::unique_ptr<TemplateEngine> TemplateEngine_ptr;
|
||
|
}
|
||
|
|
||
|
#endif
|