summaryrefslogtreecommitdiff
path: root/src/Content.hpp
diff options
context:
space:
mode:
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