aboutsummaryrefslogtreecommitdiff
path: root/src/Content.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Content.hpp')
-rw-r--r--src/Content.hpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/Content.hpp b/src/Content.hpp
new file mode 100644
index 0000000..82eb35e
--- /dev/null
+++ b/src/Content.hpp
@@ -0,0 +1,27 @@
+#ifndef CONTENT_H
+#define CONTENT_H 1
+
+#include "RequestResponse.hpp"
+
+#include <inja/inja.hpp>
+#include <string>
+#include <tuple>
+#include <vector>
+
+using Redirections = std::vector<std::string>;
+using RenderData = std::unordered_map<std::string, std::string>;
+
+class Content
+{
+public:
+ virtual bool Init() = 0;
+ virtual void Shutdown() = 0;
+
+ virtual bool Render(RequestResponse & rr, RenderData & rd) = 0;
+
+ virtual std::string const & GetUriBasePath() const = 0;
+ virtual std::string const & GetMainTemplate() const = 0;
+ virtual Redirections const & GetRedirections() const = 0;
+};
+
+#endif