summaryrefslogtreecommitdiff
path: root/src/Content.hpp
diff options
context:
space:
mode:
authorToni Uhlig <matzeton@googlemail.com>2021-09-30 21:12:57 +0200
committerToni Uhlig <matzeton@googlemail.com>2021-09-30 21:12:57 +0200
commit6c04dfe2caff1e03ba5c898b591327439452f616 (patch)
tree11c6f6955de188c48015641c1ae2e63b0d0e50d6 /src/Content.hpp
parentec7cfa85530082127703278cf1ae5167990c0f45 (diff)
CMS functionality works just find..minimal-working-example
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
Diffstat (limited to 'src/Content.hpp')
-rw-r--r--src/Content.hpp30
1 files changed, 10 insertions, 20 deletions
diff --git a/src/Content.hpp b/src/Content.hpp
index c379522..82eb35e 100644
--- a/src/Content.hpp
+++ b/src/Content.hpp
@@ -8,30 +8,20 @@
#include <tuple>
#include <vector>
-typedef std::vector<std::string> Redirections;
+using Redirections = std::vector<std::string>;
+using RenderData = std::unordered_map<std::string, std::string>;
-class Content {
+class Content
+{
public:
- virtual bool Init() = 0;
- virtual void Shutdown() = 0;
- virtual bool Render(RequestResponse & rr, std::string & out) = 0;
+ virtual bool Init() = 0;
+ virtual void Shutdown() = 0;
- virtual std::string const & GetBaseUri() const = 0;
- virtual Redirections const & GetRedirections() const = 0;
- virtual void GetRequiredFiles(std::vector<std::string> & requiredFiles) const = 0;
-};
-
-class TemplatedContent : public Content {
-public:
- explicit TemplatedContent(std::string mainTemplate);
-
- virtual bool Init();
- virtual void Shutdown();
- virtual bool Render(RequestResponse & rr, std::string & out);
- virtual void GetRequiredFiles(std::vector<std::string> & requiredFiles) const;
+ virtual bool Render(RequestResponse & rr, RenderData & rd) = 0;
-private:
- std::string m_FilesystemPath;
+ virtual std::string const & GetUriBasePath() const = 0;
+ virtual std::string const & GetMainTemplate() const = 0;
+ virtual Redirections const & GetRedirections() const = 0;
};
#endif